fscanf, _fscanf_l, fwscanf, _fwscanf_l
Données mises en forme d'un flux de données.plus les versions sécurisées de ces fonctions sont disponibles ; consultez 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 ]...
);
Paramètres
stream
Pointeur vers la structure d' FILE .format
Chaîne de format.argument
arguments facultatifs.locale
Les paramètres régionaux à utiliser.
Valeur de retour
Chacune de ces fonctions retourne le nombre de champs avec succès convertis et assignés ; la valeur de retour n'inclut pas les champs qui ont été lus mais non assigné.une valeur de retour de 0 indique qu'aucun champ n'a été assigné.Si une erreur se produit, ou si la fin du flux de fichiers est atteint avant la première conversion, la valeur de retour est EOF pour fscanf et fwscanf.
ces fonctions valident leurs paramètres.si stream ou format est un pointeur null, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, ces fonctions EOF de retour et errno défini à EINVAL.
Notes
La fonction d' fscanf lit des données de la position actuelle d' stream dans les emplacements fournis par argument (le cas échéant).Chaque argument doit être un pointeur vers une variable d'un type qui correspond à un spécificateur de type dans format.format contrôle interprétation des champs d'entrée et a le même formulaire et fonction que l'argument d' format pour scanf; consultez scanf pour une description d' format*.*
fwscanf est une version à caractère élargi d' fscanf; l'argument de format à fwscanf est une chaîne à caractères larges.Ces fonctions se comportent de la même manière identique si le flux est ouvert en mode ANSI.fscanf ne prend pas en charge actuellement l'entrée d'un flux d'UNICODE.
Les versions de ces fonctions par le suffixe d' _l sont identiques mais elles utilisent le paramètre de paramètres régionaux passé au lieu des paramètres régionaux du thread courant.
mappages de routines de texte générique
routine de TCHAR.H |
_MBCS & de _UNICODE non défini |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_ftscanf |
fscanf |
fscanf |
fwscanf |
_ftscanf_l |
_fscanf_l |
_fscanf_l |
_fwscanf_l |
Pour plus d'informations, consultez Champs de spécification de format - scanf s'exécute et le wscanf s'exécute.
Configuration requise
Fonction |
en-tête requis |
---|---|
fscanf, _fscanf_l |
<stdio.h> |
fwscanf, _fwscanf_l |
<stdio.h> ou <wchar.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
// 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 );
}
}
Équivalent .NET Framework
System : : E/S : : StreamReader : : ReadLine. Consultez également des méthodes d' Parse , telles que System : : double : : analysez.
Voir aussi
Référence
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
scanf, _scanf_l, wscanf, _wscanf_l