Ero sivun ”EOF” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
ei muokkausyhteenvetoa
(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ä]] |