Partilhar via


fscanf, _fscanf_l, fwscanf, _fwscanf_l

Leitura formatado dados de um fluxo.Versões mais seguras dessas funções estão disponível; 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
    Ponteiro para FILE estrutura.

  • format
    Seqüência de caracteres de controle de formato.

  • argument
    Argumentos opcionais.

  • locale
    A localidade para usar.

Valor de retorno

Cada uma dessas funções retornará o número de campos convertido com êxito e atribuídos; o valor retornado não inclui campos que foram lidos, mas não atribuídos.Um valor retornado 0 indica que nenhum campo foi atribuído.Se ocorrer um erro, ou se o participante do fluxo de arquivo for atingido antes da conversão primeira, o valor retornado é EOF para fscanf e fwscanf.

Essas funções validar seus parâmetros.If stream ou format é um ponteiro nulo, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções retornam EOF e conjunto errno para EINVAL.

Comentários

The fscanf função lê dados de posição corrente do stream em locais fornecidos pelo argument (se houver). Cada argument deve ser um ponteiro para uma variável de tipo que corresponde a um especificador de tipo em format. format Controla a interpretação da entrada campos e tem o mesmo formulário e funcionar sistema autônomo o format argumento para scanf; Consulte scanf para obter uma descrição de format*.*

fwscanf é uma versão de caractere largo da fscanf; o argumento formato fwscanf é uma seqüência de caracteres largos. Essas funções tenham comportamento idêntico idêntico se o fluxo é aberto no modo ANSI.fscanf atualmente não oferece suporte a entrada de um fluxo UNICODE.

As versões dessas funções com o _l sufixo são idênticas exceto que usarem o parâmetro de localidade passado em vez da localidade do thread corrente.

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_ftscanf

fscanf

fscanf

fwscanf

_ftscanf_l

_fscanf_l

_fscanf_l

_fwscanf_l

Para obter mais informações, consulte Especificação de formatar campos – scanf funções e funções wscanf.

Requisitos

Função

Cabeçalho necessário

fscanf, _fscanf_l

<stdio.h>

fwscanf, _fwscanf_l

<stdio.h> ou <wchar.h>

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

Exemplo

// 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

Equivalente do NET Framework

sistema::IO::StreamReader::ReadLine. Consulte também Parse métodos, sistema autônomo sistema::Double::Parse.

Consulte também

Referência

Fluxo de E/S

_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