? I C og C + + programmeringsspråk , samle innspill fra og skrive til tekstfiler er en nødvendighet . Dette er en av de få måter å lagre data over lange perioder av gangen , slik at programmet kan bruke data over flere henrettelser . Mange funksjoner finnes for å lese tekstfiler på forskjellige måter. For å betegne at en funksjon har nådd slutten av filen , en End Of File ( EOF ) symbol eksisterer. Programmereren kan sjekke inn for å sikre at det er ikke slutten på filen , og slutten utførelse av en funksjon hvis filen er lest i sin helhet. Lese en fil
Forstå hvordan EOF symbol fungerer innebærer å forstå hvordan fil input fungerer. Vanligvis laster programmerer filen inn i programmet gjennom en filpekeren . Bruke " stdio.h " biblioteker , kan programmereren bruke en filpekeren å referere til en fil i minnet , og deretter enten lese fra eller skrive til filen . Følgende eksempel viser hvordan å erklære og bruke en filpekeren : en
# include " stdio.h "
int main ( ) {
FILE * fp ; //fil pekeren
fp = fopen ( "c : \\ \\ file.txt " , "r ") //åpner " file.txt " som skrivebeskyttet , og bruker fp å referere til den
leser fra en fil
programmereren leser deretter fra filen. Hun kan gjøre dette ved hjelp av " fgetc ( ) "-funksjonen , som vil lese fra filen ett tegn om gangen . Den " fgetc ( )" -funksjonen returnerer et heltall , som kan endres til et tegn ved programmereren skrive ut på skjermen eller for hva manipulasjon er nødvendig : en
int lm = fgetc ( fp ) ;
printf ( "% c" , ( røye ) lm ) ;
Intern File pekere
Når " fgetc ( ) "-funksjonen leser et tegn, flytter den en intern filpekeren frem en plass. Dette betyr at en fil som blir lest av funksjon, filen alltid forblir klar for en annen lese. Slik det indre filpekeren arbeider, er ikke viktig for programmereren eller funksjonen. Det som er viktig er at så filpekeren beveger seg fremover i løpet av vellykkede målinger , vil det til slutt traff slutten av filen , det vil for eksempel ikke , fortsette å lese filen utover filens størrelse
. The End of File
Når filpekeren passerer den endelige karakter, " fgetc ( ) "-funksjonen vil returnere en negativ heltall knyttet til en makro kalt " EOF . " En makro er en omdefinering av en verdi i en mer lesbar form. Programmereren kan se etter denne verdien ved å bruke " EOF " makro . Hvis funksjonen returnerer verdien , kan programmereren stanse lesing av filen og unngå feil , som i dette eksemplet : en
int c ;
while ( ( c = fgetc ( fp ) ) ! = EOF ) //når c inneholder EOF verdi, vil loopen slutte å lese
{
putchar ( c ) ;
}