Se recomienda usar Visual Studio 2017

fscanf, _fscanf_l, fwscanf, _fwscanf_l

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Leer datos con formato de una secuencia. Existen versiones más seguras de estas funciones; consulte 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 ]...   
);  

Parámetros

stream
Puntero a la estructura FILE .

format
Cadena de control de formato.

argument
Argumentos opcionales.

locale
Configuración regional que se va a usar.

Cada una de estas funciones devuelve el número de campos correctamente convertido y asignado; el valor devuelto no incluye los campos que se leyeron pero no asignados. Un valor devuelto de 0 indica que no se ha asignado ningún campo. Si se produce un error, o si se llega al final del flujo de archivo antes de la primera conversión, el valor devuelto es EOF para fscanf y fwscanf.

Estas funciones validan sus parámetros. Si stream o format es un puntero nulo, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, estas funciones devuelven EOF y establecen errno en EINVAL.

El fscanf función lee los datos desde la posición actual de stream en las ubicaciones especificadas por argument (si existe). Cada argument debe ser un puntero a una variable de un tipo que se corresponda con un especificador de tipo en format. formatcontrola la interpretación de la entrada de campos y tiene el mismo formato y función que el format argumento para scanf; vea scanf para obtener una descripción de format .

fwscanfes una versión con caracteres anchos de fscanf; el argumento format para fwscanf es una cadena de caracteres anchos. Estas funciones se comportan de forma idéntica igual si el flujo se abre en modo ANSI. fscanf no admite actualmente la entrada desde un flujo UNICODE.

Las versiones de estas funciones con el sufijo _l son idénticas salvo que usan el parámetro locale pasado en lugar de la configuración regional del subproceso actual.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H_UNICODE y _MBCS no definidos_MBCS definido_UNICODE definido
_ftscanffscanffscanffwscanf
_ftscanf_l_fscanf_l_fscanf_l_fwscanf_l

Para obtener más información, consulte campos de especificación de formato: funciones scanf y Wscanf.

FunciónEncabezado necesario
fscanf, _fscanf_l<stdio.h>
fwscanf, _fwscanf_l<stdio.h> o <wchar.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

// 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 );  
   }  
}  

a-string  
65000  
3.141590  
x  

System::IO::StreamReader::ReadLine. Consulte también Parse métodos, como System::Double::Parse.

E/S de secuencia
_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

Mostrar: