Die Funktion fgets () in C ++ liest eine angegebene maximale Anzahl von Zeichen aus dem angegebenen Dateistream.
fgets () Prototyp
char * fgets (char * str, int count, FILE * stream);
Die fgets()
Funktion liest maximal count-1
Zeichen aus dem angegebenen Dateistream und speichert sie in dem Array, auf das str zeigt.
Die Analyse wird fortgesetzt, bis das Dateiende eintritt oder ein Zeilenumbruchzeichen ( n) gefunden wird. Das Array str enthält auch das Zeilenumbruchzeichen, falls es gefunden wird. Wenn kein Fehler auftritt, wird am Ende von str ein Nullzeichen geschrieben.
Es ist in der Header-Datei definiert.
fgets () Parameter
- str: Zeiger auf ein Zeichenarray, in dem der Inhalt der Datei gespeichert ist.
- count: Maximale Anzahl der zu schreibenden Zeichen.
- stream: Der Dateistream zum Lesen der Zeichen.
fgets () Rückgabewert
- Bei Erfolg gibt die Funktion fgets () str zurück und bei Fehler gibt sie den Nullzeiger zurück.
- Wenn der Fehler auf den Zustand am Ende der Datei zurückzuführen ist, wird das
eof
Kennzeichen gesetzt. In diesem Fall wird der Inhalt von str nicht geändert. - Wenn der Fehler auf einen anderen Fehler zurückzuführen ist, wird die Fehleranzeige gesetzt. In diesem Fall ist der Inhalt von str unbestimmt. Sie dürfen nicht einmal nullterminiert werden.
Beispiel: Funktionsweise von fgets ()
#include #include using namespace std; int main() ( int count = 10; char str(10); FILE *fp; fp = fopen("file.txt","w+"); fputs("An example file", fp); fputs("Filename is file.txt", fp); rewind(fp); while(feof(fp) == 0) ( fgets(str,count,fp); cout << str << endl; ) fclose(fp); return 0; )
Wenn Sie das Programm ausführen, ist eine mögliche Ausgabe:
Eine Beispieldatei Dateiname ist file.t xt