Share via


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

E/S de flux

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

fprintf, _fprintf_l, fwprintf, _fwprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l