fgets
, fgetws
Ottenere una stringa da un flusso.
Sintassi
char *fgets(
char *str,
int numChars,
FILE *stream
);
wchar_t *fgetws(
wchar_t *str,
int numChars,
FILE *stream
);
Parametri
str
Percorso di archiviazione per i dati.
numChars
Numero massimo di caratteri da leggere.
stream
Puntatore alla struttura FILE
.
Valore restituito
Ognuna di queste funzioni restituisce str
. NULL
viene restituito per indicare una condizione di errore o di fine file. Utilizzare feof
o ferror
per determinare se si è verificato un errore. Se str
o stream
è un puntatore Null o numChars
è minore o uguale a zero, questa funzione richiama il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno
viene impostato su EINVAL
e la funzione restituisce NULL
.
Per altre informazioni sui codici restituiti, vedere errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Osservazioni:
La funzione fgets
legge una stringa dall'argomento stream
di input e la memorizza in str
. fgets
legge i caratteri dalla posizione corrente del flusso a e includendo il primo carattere di nuova riga, fino alla fine del flusso o fino a quando il numero di caratteri letti è uguale a numChars
- 1, a qualunque punto venga prima. Il risultato memorizzato in str
viene accodato con un carattere null. Il carattere di nuova riga, se letto, viene incluso nella stringa.
fgetws
è una versione a caratteri wide di fgets
.
fgetws
legge l'argomento str
wide-character come stringa di caratteri multibyte o come stringa di caratteri wide quando stream
viene aperto rispettivamente in modalità testo o in modalità binaria. Per altre informazioni sull'uso di modalità testo e binaria in I/O di flusso Unicode e multibyte, vedere I/O di file in modalità testo e binario e I/O del flusso Unicode in modalità testo e binario.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di routine di testo generico
TCHAR.H routine |
_UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
Requisiti
Funzione | Intestazione obbligatoria |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> oppure <wchar.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// crt_fgets.c
// This program uses fgets to display
// the first line from a file.
#include <stdio.h>
int main( void )
{
FILE *stream;
char line[100];
if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
{
if( fgets( line, 100, stream ) == NULL)
printf( "fgets error\numChars" );
else
printf( "%s", line);
fclose( stream );
}
}
Immissione: crt_fgets.txt
Line one.
Line two.
Output
Line one.