Ero sivun ”EOF” versioiden välillä
(Ak: Uusi sivu: '''EOF''' eli '''loppumerkki''' on C-ohjelmoinnissa ja yleisesti Unix-järjestelmissä tiedoston lopusta kertova merkki. Kun ohjelma lukee tiedostosta loppumerkin EOF, se tarkoittaa y…) |
(ei mitään eroa)
|
Versio 16. helmikuuta 2010 kello 00.02
EOF eli loppumerkki on C-ohjelmoinnissa ja yleisesti Unix-järjestelmissä tiedoston lopusta kertova merkki. Kun ohjelma lukee tiedostosta loppumerkin EOF, se tarkoittaa yleensä, että tiedoston loppu on saavutettu, eikä lisää tietoa ole enää saatavilla.
C-ohjelmoinnissa
C-ohjelman kannalta tiedostot näkyvät tiedostokuvaimina (engl. file descriptor). Tiedostokuvaimesta, joka yleensä on liitetty tiedostoon, mutta voi olla liitetty myös johonkin standardivirtaan tai putkeen, voi lukea tavuja standardikirjaston kutsulla fgetc(). Kutsu palauttaa normaalisti tiedoston seuraavan 8-bittisen merkin, mutta mikäli tiedosto on lopussa tai lukemisessa tapahtuu virhe, kutsu palauttaa erikoisarvon EOF. EOF ei ole positiivinen 8-bittinen kokonaisluku (s.o. luku väliltä 0-255), vaan negatiivinen int -arvo. Näin mikään tiedosto ei voi sisältää merkkiä EOF, eikä sitä voi tallettaa tyyppiin unsigned char. Siksi paluuarvo EOF on aina erikoistapaus.
C-ohjelman tulee aina erikseen varmistaa, merkitseekö EOF -paluuarvo todella tiedoston loppua vai virhetilannetta kutsulla feof() tai ferror().