_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
Lê dados formatados a partir do console. Versões mais seguras dessas funções estão disponíveis; consulte _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.
Importante
Esta API não pode ser usada em aplicativos que executam no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.
int _cscanf(
const char *format [,
argument] ...
);
int _cscanf_l(
const char *format,
locale_t locale [,
argument] ...
);
int _cwscanf(
const wchar_t *format [,
argument] ...
);
int _cwscanf_l(
const wchar_t *format,
locale_t locale [,
argument] ...
);
Parâmetros
format
Cadeia de caracteres de controle de formato.argument
Parâmetros opcionais.locale
A localidade a ser usada.
Valor de retorno
O número de campos que foram convertidos e atribuídos com êxito. O valor de retorno não inclui os campos que foram lidos, mas não atribuídos. O valor de retorno é EOF para uma tentativa de leitura no fim do arquivo. Isso pode ocorrer quando a entrada do teclado é redirecionada no nível de linha de comando do sistema operacional. Um valor de retorno 0 significa que nenhum campo foi atribuído.
Comentários
A função de _cscanf lê os dados diretamente do console em locais fornecidos por argument. A função _getche é usada para ler caracteres. Cada parâmetro opcional deve ser um ponteiro para uma variável com um tipo que corresponde a um especificador de tipo em format. O formato controla a interpretação dos campos de entrada e tem o mesmo formulário e função do parâmetro format para a função de scanf. Embora o _cscanf ecoe normalmente o caractere de entrada, ele não faz isso se a última chamada foi para _ungetch.
Essa função valida seus parâmetros. Se o formato for NULO, o manipulador de parâmetro inválido será chamado, como descrito em Validação do parâmetro. Se a execução puder continuar, errno será definido como EINVAL e a função retornará EOF.
As versões dessas funções com o sufixo _l são idênticas, exceto que usam o parâmetro de localidade passado em vez da localidade de thread atual.
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE e _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcscanf |
_cscanf |
_cscanf |
_cwscanf |
_tcscanf_l |
_cscanf_l |
_cscanf_l |
_cwscanf_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_cscanf,_cscanf_l |
<conio.h> |
_cwscanf, _cwscanf_l |
<conio.h> ou <wchar.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// crt_cscanf.c
// compile with: /c /W3
/* This program prompts for a string
* and uses _cscanf to read in the response.
* Then _cscanf returns the number of items
* matched, and the program displays that number.
*/
#include <stdio.h>
#include <conio.h>
int main( void )
{
int result, i[3];
_cprintf_s( "Enter three integers: ");
result = _cscanf( "%i %i %i", &i[0], &i[1], &i[2] ); // C4996
// Note: _cscanf is deprecated; consider using _cscanf_s instead
_cprintf_s( "\r\nYou entered " );
while( result-- )
_cprintf_s( "%i ", i[result] );
_cprintf_s( "\r\n" );
}
Entrada
1 2 3
Saída
Enter three integers: 1 2 3
You entered 3 2 1
Consulte também
Referência
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l