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_errliste _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.

Vedi anche

I/O di flusso
fputs, fputws
gets, _getws
puts, _putws