_snscanf, _snscanf_l, _snwscanf, _snwscanf_l
Dados de um período especificado de uma seqüência de caracteres em formato leituras.Versões mais seguras dessas funções estão disponível; consulte _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l.
int __cdecl _snscanf(
const char * input,
size_t length,
const char * format,
...
);
int __cdecl _snscanf_l(
const char * input,
size_t length,
const char * format,
locale_t locale,
...
);
int __cdecl _snwscanf(
const wchar_t * input,
size_t length,
const wchar_t * format,
...
);
int __cdecl _snwscanf_l(
const wchar_t * input,
size_t length,
const wchar_t * format,
locale_t locale,
...
);
Parâmetros
input
Seqüência de caracteres de entrada para examinar.length
Número de caracteres para examinar em input.format
Especificadores de formato de um ou mais.... (optional)
Variáveis que serão usadas para armazenar os valores extraídos da seqüência de caracteres de entrada por especificadores de formato em format.locale
A localidade para usar.
Valor de retorno
Ambas as funções retorna 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.O valor retornado é EOF um erro ou se o participante da seqüência de caracteres for atingido antes da conversão primeira. Para obter mais informações, consulte sscanf.
If input ou format é um NULL ponteiro, ou se length é menor ou igual a zero, 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.
Para obter informações sobre esses e outros códigos de erro, consulte _doserrno, errno, _sys_errlist e _sys_nerr.
Comentários
Esta função é como sscanf exceto que ele fornece a capacidade de especificar um número fixo de caracteres para examinar a partir da cadeia de caracteres de entrada. Para obter mais informações, consulte sscanf.
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 e _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_sntscanf |
_snscanf |
_snscanf |
_snwscanf |
_sntscanf_l |
_snscanf_l |
_snscanf_l |
_snwscanf_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_snscanf, _snscanf_l |
<stdio.h> |
_snwscanf, _snwscanf_l |
<stdio.h> ou <wchar.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// crt_snscanf.c
// compile with: /W3
#include <stdio.h>
int main( )
{
char str1[] = "15 12 14...";
wchar_t str2[] = L"15 12 14...";
char s1[3];
wchar_t s2[3];
int i;
float fp;
i = _snscanf( str1, 6, "%s %f", s1, &fp); // C4996
// Note: _snscanf is deprecated; consider using _snscanf_s instead
printf("_snscanf converted %d fields: ", i);
printf("%s and %f\n", s1, fp);
i = _snwscanf( str2, 6, L"%s %f", s2, &fp); // C4996
// Note: _snwscanf is deprecated; consider using _snwscanf_s instead
wprintf(L"_snwscanf converted %d fields: ", i);
wprintf(L"%s and %f\n", s2, fp);
}
_snscanf converted 2 fields: 15 and 12.000000 _snwscanf converted 2 fields: 15 and 12.000000
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.