In de C -en C + + programmeertalen , het verzamelen van input van en schrijven naar tekstbestanden is een noodzaak . Dit is een van de weinige manieren om gegevens op te slaan over lange perioden van tijd, zodat het programma de gegevens over meerdere uitvoeringen kunnen gebruiken . Meerdere functies bestaan om tekstbestanden te lezen op verschillende manieren . Om aan te geven dat een functie het einde van het bestand is bereikt , een einde van het bestand ( EOF ) symbool bestaat. De programmeur kan inbreng controleren om ervoor te zorgen dat het niet het einde van het bestand , en het einde uitvoeren van een functie als het bestand is in zijn geheel gelezen . Het lezen van een bestand Begrijpen hoe het EOF symbool werkt betekent begrijpen hoe bestandsinvoer werkt . Typisch , de programmeur laadt het bestand in het programma door middel van een bestand pointer . Met behulp van de " stdio.h " bibliotheken , kan de programmeur een file pointer gebruiken om te verwijzen naar een bestand in het geheugen , en vervolgens lezen van of schrijven naar het bestand . Het volgende voorbeeld toont hoe te verklaren en het gebruik van een file pointer : # include " stdio.h " int main ( ) { FILE * fp ; //bestand pointer fp = fopen ( " c: \\ \\ file.txt " , " r " ) //opent " bestand.txt " als alleen-lezen , en gebruikt fp te verwijzen naar het lezen uit een bestand de programmeur leest dan uit het bestand . Ze kan dit doen met behulp van de " fgetc ( ) " functie, die uit het bestand een teken zal tegelijk lezen . De " fgetc ( ) " functie geeft een geheel waarde , die kan worden veranderd om een teken van de programmeur om af te drukken op het scherm of om welke manipulatie is verplicht : int l = fgetc ( fp ) ; < br > printf ( " % c " , ( char ) ch ) ; Interne Bestand Pointers Wanneer de functie " fgetc ( ) " leest een personage , het beweegt een interne file pointer vooruit een ruimte. Dit betekent dat als een bestand wordt gelezen door de functie , het bestand blijft altijd klaar voor een ander te lezen . Hoe het interne bestandspointer werkt niet belangrijk voor de programmeur of functie . Wat belangrijk is, is dat als de file pointer naar voren tijdens de succesvolle lezingen beweegt , zal het uiteindelijk raakte het einde van het bestand , het zal niet , bijvoorbeeld , blijven lezen van het bestand buiten de bestandsgrootte . The End of file Wanneer het bestand aanwijzer het laatste teken , de " fgetc ( ) " functie zal een negatief geheel getal gebonden aan een macro genaamd terugkeren "EOF . " Een macro is een herdefiniëring van een waarde in een meer leesbare vorm . De programmeur kan controleren of deze waarde met behulp van de "EOF " macro . Als de functie retourneert de waarde , kan de programmeur stoppen lezen van het bestand en vermijd eventuele fouten , zoals in dit voorbeeld : int c ; while ( ( c = fgetc ( fp ) ) ! = EOF ) //wanneer c bevat het EOF waarde , zal de loop stoppen met lezen { putchar ( c ) ; } < br >
|