? In der C-und C + + Programmiersprachen, Sammeln von Eingaben und Schreiben von Textdateien ist eine Notwendigkeit. Dies ist eine der wenigen Möglichkeiten, um Daten über lange Zeiträume zu speichern, damit das Programm die Daten über mehrere Hinrichtungen verwendet werden können. Mehrere Funktionen existieren, um Text-Dateien auf verschiedene Arten lesen. Um anzuzeigen, dass eine Funktion hat das Ende der Datei erreicht , das Ende einer Datei (EOF )-Symbol vorhanden ist. Der Programmierer kann überprüfen Eingang , um sicherzustellen, es ist nicht das Ende der Datei , und am Ende der Ausführung einer Funktion , wenn die Datei in seiner Gesamtheit zu lesen. Lesen einer Datei
Verstehen, wie die EOF-Symbol funktioniert bedeutet das Verständnis, wie Datei-Eingabe funktioniert. Normalerweise lädt der Programmierer die Datei in das Programm durch einen Dateizeiger . Mit den " stdio.h " Bibliotheken kann der Programmierer verwenden eine Datei Zeiger auf eine Datei im Speicher verweisen , und dann entweder lesen oder schreiben in die Datei. Das folgende Beispiel zeigt, wie zu erklären, und verwenden Sie einen Dateizeiger :
# include " stdio.h "
int main () {
FILE * fp ; //file pointer
fp = fopen (" c: \\ \\ datei.txt ", " r ") //öffnet " file.txt " als read-only und nutzt fp es
verweisen
Lesen aus einer Datei
der Programmierer liest dann aus der Datei. Sie können dies tun, indem Sie die " fgetc ()" -Funktion, die aus der Datei ein Zeichen in einer Zeit zu lesen. Die " fgetc () "-Funktion gibt einen Integer -Wert, der auf ein Zeichen vom Programmierer geändert werden kann , um auf dem Bildschirm auszugeben oder für was auch immer Manipulation ist erforderlich:
int ch = fgetc ( fp );
printf ("% c " , (char ) ch) ;
Interne Dateizeigern
Wenn die " fgetc ()" -Funktion liest ein Charakter , bewegt es einen internen Dateizeiger vorwärts ein Leerzeichen . Dies bedeutet, dass eine Datei von der Funktion gelesen wird, die Datei bleibt immer bereit für ein weiteres zu lesen. Wie die internen Dateizeiger funktioniert, ist nicht wichtig für den Programmierer oder der Funktion. Was wichtig ist, ist , dass die Datei Zeiger bewegt sich nach vorne während erfolgreiche Lesungen, es wird schließlich traf das Ende der Datei , es wird zum Beispiel nicht , lesen Sie weiter die Datei über die Größe der Datei
. das Ende der Datei
Wenn der Dateizeiger das letzte Zeichen spielt die " fgetc ()" Funktion liefert einen negativen Integer-Wert gebunden an ein Makro namens " EOF ". Ein Makro ist eine Neudefinition eines Wertes in eine lesbare Form . Der Programmierer kann für diesen Wert mit dem " EOF " makro überprüfen . Wenn die Funktion gibt den Wert , kann der Programmierer stoppen Lesen der Datei und vermeiden Fehler , wie in diesem Beispiel :
int c ;
while ( (c = fgetc ( fp ) ) ! = EOF) //wenn c die EOF- Wert enthält , wird die Schleife aufhören zu lesen
{
putchar (c); }