? I C och C + + programmering språk , samla indata från och skriva till textfiler är en nödvändighet . Detta är ett av de få sätt att lagra data över långa tidsperioder så att programmet kan använda data över flera avrättningar . Flera funktioner finns för att läsa textfiler på olika sätt. För att beteckna att en funktion har nått slutet av filen , en End Of File ( EOF ) symbolen existerar . Programmeraren kan kolla in för att se till att det är inte slutet på filen och avsluta exekvering av en funktion om filen har läst i sin helhet . Läsa en fil
Förstå
hur EOF symbolen fungerar betyder förståelse hur file input fungerar . Vanligtvis laddar programmeraren filen i programmet genom en filpekaren . Använda " stdio.h " bibliotek , kan programmeraren använda en fil pekare för att referera till en fil i minnet , och sedan antingen läsa från eller skriva till filen . Följande exempel visar hur du deklarerar och använda en fil pekare :
# include " stdio.h "
main
int ( ) {
FILE * fp , //fil pekare
fp = fopen ( " c : \\ \\ file.txt " , " r " ) //öppnar " file.txt " som skrivskyddad , och använder fp för att referera det
Läsa från en fil
programmeraren läser sedan från filen . Hon kan göra detta genom att använda " fgetc ( ) " -funktion , vilket kommer att läsa från filen ett tecken i taget . Den " fgetc ( ) "-funktion returnerar ett heltal , vilket kan ändras till en karaktär av programmeraren för att skriva ut på skärmen eller vad manipulation krävs :
int ch = fgetc ( fp ) ;
printf ( " % c " , ( char ) CH ) , Addera ditt interna akt Pekare
När " fgetc ( ) "-funktion läser ett tecken , flyttar den en intern filpekaren framåt ett steg . Det innebär att en fil läses av funktion , filen förblir alltid redo för en annan läsa . Hur den interna filpekaren fungerar är inte viktigt för programmerare eller funktionen. Vad som är viktigt är att när filen pekaren rör sig framåt under lyckade avläsningar , kommer det så småningom slog i slutet av filen , det kommer inte , till exempel , fortsätta läsa filen bortom filens storlek
. i slutet av filen
När filen pekaren passerar det sista tecknet på " fgetc ( ) " -funktion kommer att returnera ett negativt heltal knuten till ett makro som heter " EOF . " Ett makro är en omdefiniering av ett värde i en mer läsbar . Programmeraren kan kontrollera detta värde med hjälp av " EOF " makro. Om funktionen returnerar värdet , kan programmeraren stoppa läsning av filen och undvika eventuella felaktigheter , som i detta exempel :
int c ;
while ( ( c = fgetc ( fp ) ) ! = EOF ) //när c innehåller EOF värdet , kommer slingan sluta läsa
{
putchar ( c ) ,
}