fgets(), gets() - input di una stringa
#include char *fgets(char *s, int size, FILE *stream); char *gets(char *s);
La funzione fgets() legge una linea dallo stream immagazzinandola nel buffer puntato da s.
Sono letti al piu' (size - 1) caratteri, oppure fino al raggiungimento del carattere di new-line '\n' o di EOF.
Viene immagazzinato nel buffer anche l'eventuale carattere di new-line '\n' che venisse incontrato.
Dopo l'ultimo carattere letto, viene inserito nel buffer il carattere '\0' (terminatore della stringa ASCIIZ).
La funzione gets() legge una linea dallo stdin fino al carattere di new-line '\n' o di EOF. Questi caratteri sono sostituiti con '\0'.
Non viene eseguito nessun controllo sulla dimensione di s, pertanto se la linea da leggere supera la dimensione di s si ha un buffer overrun con problemi di affidabilita' del programma e talvolta anche del sistema. E' meglio impiegare la funzione fgets().
Le funzioni fgets() e gets() ritornano s in caso di successo e NULL quando una fine file viene incontrata senza che nessun carattere sia stato letto.
ANSI C, POSIX.1
fopen() fdopen() freopen() tmpfile() fclose() setbuf() setbuffer() setlinebuf() setvbuf() clearerr() feof() ferror() fileno() fseek() rewind() ftell() fgetpos() fsetpos() fflush() fgetc() getc() getchar() ungetc() fputc() putc() putchar() fputs() puts() scanf() fscanf() sscanf() vscanf() vsscanf() vfscanf() printf() fprintf() sprintf() snprintf() vprintf() vfprintf() vsprintf() vsnprintf() fread() fwrite()
Indice linguaggio C |
Indice librerie C |
Umberto Zappi Home Page |
Indice funzioni C |