? I C og C + + programmeringssprog , indsamle input fra og skrive til tekstfiler er en nødvendighed. Dette er en af de få måder at gemme data over lange perioder, så programmet kan bruge data over flere henrettelser . Flere funktioner eksisterer for at læse tekstfiler på forskellige måder. For at angive, at en funktion er nået til slutningen af filen , en End Of File ( EOF ) symbolet eksisterer. Programmøren kan kontrollere input for at sikre, det er ikke enden på filen, og enden udførelsen af en funktion, hvis filen er blevet læst i sin helhed. Læsning af en fil
Forståelse hvordan EOF symbolet værker betyder at forstå, hvordan fil input værker. Typisk programmøren indlæser filen i programmet gennem en fil pointer. Brug af " stdio.h " biblioteker , kan programmøren bruge en fil pointer at referere en fil i hukommelsen , og derefter enten læse fra eller skrive til filen. Følgende eksempel viser, hvordan man erklærer og bruge en fil pointer : Hej
# include " stdio.h "
int main () {
FILE * fp //fil pointer
fp = fopen ( "c: \\ \\ file.txt ", " r" ) //åbner " file.txt " som read-only , og bruger fp at referere det
Hoteller i Reading fra en fil
programmør derefter læser fra filen. Hun kan gøre dette ved hjælp af " fgetc ()" funktion, som vil læse fra filen et tegn ad gangen. Den " fgetc ()" funktionen returnerer et heltal værdi , som kan ændres til et tegn ved programmøren at udskrive til skærmen eller uanset manipulation er påkrævet : Hej
int lm = fgetc ( fp ) ; < br >
printf ( "% c" , (char ) ch ),
Intern File Pointers
Når " fgetc ()" funktionen læser et tegn , flyttes en intern fil pointer frem ét rum. Det betyder, at en fil læses af funktion , filen altid forbliver klar til en anden læser . Hvordan det interne pointer virker er ikke vigtigt for programmøren eller funktion. Hvad er vigtigt, er, at så filpointeren bevæger sig fremad under vellykkede behandlinger , vil det i sidste ende ramte slutningen af filen , og det vil for eksempel ikke , fortsætte med at læse filen ud over filens størrelse
. The End of File
Når filen markøren passerer den endelige karakter, " fgetc ()" funktionen vil returnere en negativ heltal bundet til en makro kaldet " EOF ". En makro er en omdefinering af en værdi i en mere læsbar form . Programmøren kan tjekke for denne værdi ved at bruge " EOF " makro . Hvis funktionen returnerer værdien , kan programmøren standse læsning af filen og undgå eventuelle fejl , som i dette eksempel : Hej
int c ;
while ( (c = fgetc ( fp ) ) ! = EOF ) //når c indeholder EOF værdi, vil løkken stoppe læsningen
{
putchar ( c)
}
< br >