_snscanf, _snscanf_l, _snwscanf, _snwscanf_l
Leituras formatado dados de um período especificado de uma string.Versões mais seguras dessas funções estão disponíveis; see _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 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 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 atribuídos; e convertido com êxito o valor de retorno não inclui campos que foram lidos, mas não atribuídos.Um valor de retorno 0 indica que não há campos foram atribuídos.O valor de retorno é EOF um erro, ou se o final da seqüência de caracteres é alcançado antes da conversão primeira.Para obter mais informações, consulte sscanf.
Se input ou format é um NULL ponteiro, ou se length é menor ou igual a zero, o manipulador de parâmetro inválido é invocado, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, essas funções retornam EOF e defina 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 seqüência 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 eles usam o parâmetro de localidade passado em vez da localidade do thread atual.
Mapeamentos de rotina de texto genérico
Rotina de TCHAR.h |
_ Unicode e _ MBCS do arquivo não definido |
_ MBCS do arquivo 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);
}
Equivalência do .NET Framework
Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.