Linguaggio C - fgets(), gets()

NOME

fgets(), gets() - input di una stringa

SINOPSI

#include <stdio.h> char *fgets(char *s, int size, FILE *stream); char *gets(char *s);

DESCRIZIONE

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().

VALORE DI RITORNO

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.

CONFORME A

ANSI C, POSIX.1

VEDI ANCHE

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-C Indice linguaggio C
Indice librerie Indice librerie C
At Home Umberto Zappi Home Page
Indice funzioni Indice funzioni C