La funzione fgets () in C ++ legge un numero massimo specificato di caratteri dal flusso di file specificato.
prototipo fgets ()
char * fgets (char * str, int count, FILE * stream);
La fgets()
funzione legge un massimo di count-1
caratteri dal flusso di file specificato e li memorizza nell'array a cui punta str.
L'analisi continua fino a quando non si verifica la fine del file o viene trovato un carattere di nuova riga ( n). L'array str conterrà anche il carattere di nuova riga nel caso in cui venga trovato. Se non si verifica alcun errore, viene scritto un carattere null alla fine di str.
È definito nel file di intestazione.
Parametri fgets ()
- str: puntatore a una matrice di caratteri che memorizza il contenuto del file.
- count: numero massimo di caratteri da scrivere.
- stream: il flusso di file per leggere i caratteri.
fgets () Restituisce il valore
- In caso di successo, la funzione fgets () restituisce str e in caso di fallimento restituisce un puntatore nullo.
- Se l'errore è causato da una condizione di fine file, imposta l'
eof
indicatore. In questo caso, il contenuto di str non viene modificato. - Se l'errore è causato da qualche altro errore, imposta l'indicatore di errore. In questo caso, il contenuto di str è indeterminato. Potrebbero anche non essere annullati.
Esempio: come funziona la funzione 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; )
Quando esegui il programma, un possibile output sarà:
Un file di esempio Nome file è file.t xt