Ero sivun ”EOF” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(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…)
 
pEi muokkausyhteenvetoa
Rivi 2: Rivi 2:


== C-ohjelmoinnissa ==
== 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 [[standardivirta]]an tai [[putki|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 kannalta tiedostot näkyvät [[tiedostokuvain|tiedostokuvaimina]] (engl. ''file descriptor''). Tiedostokuvaimesta, joka yleensä on liitetty tiedostoon, mutta voi olla liitetty myös johonkin [[standardivirta]]an tai [[putki|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()''.
C-ohjelman tulee aina erikseen varmistaa, merkitseekö EOF -paluuarvo todella tiedoston loppua vai virhetilannetta kutsulla ''feof()'' tai ''ferror()''.


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]

Versio 16. helmikuuta 2010 kello 00.04

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().