fscanf, _fscanf_l, fwscanf, _fwscanf_l
Dati formattati letti da un flusso.Più versioni sicure di queste funzioni sono disponibili, vedere fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l.
int fscanf(
FILE *stream,
const char *format [,
argument ]...
);
int _fscanf_l(
FILE *stream,
const char *format,
locale_t locale [,
argument ]...
);
int fwscanf(
FILE *stream,
const wchar_t *format [,
argument ]...
);
int _fwscanf_l(
FILE *stream,
const wchar_t *format,
locale_t locale [,
argument ]...
);
Parametri
stream
puntatore a FILE struttura.format
stringa del Formato-controllo.argument
argomenti facoltativi.locale
le impostazioni locali da utilizzare.
Valore restituito
Ognuna di queste funzioni restituisce il numero di campi correttamente conversione e assegnati; il valore restituito non include campi che sono stati letti ma non assegnato.Un valore restituito pari a 0 indica che nessun campo è stato assegnato.Se si verifica un errore, o se la fine del flusso di file viene raggiunta prima della prima conversione, il valore restituito è EOF per fscanf e fwscanf.
Queste funzioni convalidano i relativi parametri.se stream o format è un puntatore null, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, ritorno di queste funzioni EOF e set errno in EINVAL.
Note
fscanf la funzione legge i dati dalla posizione corrente di stream nelle posizioni fornite da argument (se presente).ciascuno argument deve essere un puntatore a una variabile di un tipo che corrisponde a un identificatore del tipo in format.format controlla interpretazione dei campi di input e presenta lo stesso form e di funzione format argomento per scanf; vedere scanf per una descrizione di format*.*
fwscanf è una versione a caratteri estesi di fscanf; l'argomento format a fwscanf è una stringa di caratteri estesi.Queste funzioni si comportano in modo identico in modo identico se il flusso viene aperto in modalità ANSI.fscanf non supporta attualmente l'input da un flusso di UNICODE.
le versioni di queste funzioni con _l il suffisso è identico con la differenza che utilizzano il parametro delle impostazioni locali passato alle impostazioni locali del thread corrente.
Mapping di routine a testo generico
routine di TCHAR.H |
_UNICODE & _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_ftscanf |
fscanf |
fscanf |
fwscanf |
_ftscanf_l |
_fscanf_l |
_fscanf_l |
_fwscanf_l |
Per ulteriori informazioni, vedere La specifica di formato sistema - funzioni denominate scanf e funzioni del wscanf.
Requisiti
Funzione |
Intestazione di associazione |
---|---|
fscanf, _fscanf_l |
<stdio.h> |
fwscanf, _fwscanf_l |
<stdio.h> o <wchar.h> |
per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.
Esempio
// crt_fscanf.c
// compile with: /W3
// This program writes formatted
// data to a file. It then uses fscanf to
// read the various data back from the file.
#include <stdio.h>
FILE *stream;
int main( void )
{
long l;
float fp;
char s[81];
char c;
if( fopen_s( &stream, "fscanf.out", "w+" ) != 0 )
printf( "The file fscanf.out was not opened\n" );
else
{
fprintf( stream, "%s %ld %f%c", "a-string",
65000, 3.14159, 'x' );
// Security caution!
// Beware loading data from a file without confirming its size,
// as it may lead to a buffer overrun situation.
// Set pointer to beginning of file:
fseek( stream, 0L, SEEK_SET );
// Read data back from file:
fscanf( stream, "%s", s ); // C4996
fscanf( stream, "%ld", &l ); // C4996
fscanf( stream, "%f", &fp ); // C4996
fscanf( stream, "%c", &c ); // C4996
// Note: fscanf is deprecated; consider using fscanf_s instead
// Output data read:
printf( "%s\n", s );
printf( "%ld\n", l );
printf( "%f\n", fp );
printf( "%c\n", c );
fclose( stream );
}
}
Equivalente .NET Framework
System:: I:: StreamReader:: ReadLine. vedere inoltre Parse metodi, ad esempio System:: doppio:: Di traccia.
Vedere anche
Riferimenti
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
scanf, _scanf_l, wscanf, _wscanf_l