_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
읽기 콘솔에서 데이터를 포맷합니다.보다 안전한 버전의이 함수를 사용할 수 있습니다. see _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.
중요 |
---|
이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
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] ...
);
매개 변수
format
컨트롤 서식 문자열입니다.argument
선택적 매개 변수입니다.locale
사용 하는 로캘.
반환 값
성공적으로 변환 되 고 지정 된 필드 개수입니다.반환 값은 읽을 수 있지만 지정 된 필드가 포함 되지 않습니다.반환 값은 EOF 파일의 끝에 읽고 하려고 합니다.운영 체제의 명령줄 수준에서 키보드 입력을 리디렉션할 때 발생할 수 있습니다.반환 값 필드가 없는 할당 된 0 의미 합니다.
설명
_cscanf 함수가 데이터를 읽습니다 콘솔에서 직접 주어진 위치에 argument._Getche 함수를 사용 하 여 문자를 읽습니다.각 선택적 매개 변수에 형식 지정자에 해당 하는 형식의 변수에 대 한 포인터 이어야 합니다 format.해석의 입력 필드와 같으면 컨트롤 서식 양식 및 기능의 format 매개 변수는 scanf 함수.반면 _cscanf 일반적으로 에코 입력된 문자를 마지막 호출이 이렇게 하지 않는 _ungetch.
이 함수 매개 변수의 유효성을 검사 합니다.형식이 NULL 인 경우 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실행을 계속 하려면 허용 되는 경우 errno 로 설정 된 EINVAL 함수를 반환 하 고 EOF.
이러한 함수 버전을 _l 접미사는 전달 하지 않고 현재 스레드 로캘은 로캘 매개 변수를 사용 하는 것을 제외 하 고 동일 합니다.
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tcscanf |
_cscanf |
_cscanf |
_cwscanf |
_tcscanf_l |
_cscanf_l |
_cscanf_l |
_cwscanf_l |
요구 사항
루틴 |
필수 헤더 |
---|---|
_cscanf,_cscanf_l |
<conio.h> |
_cwscanf, _cwscanf_l |
<conio.h> 또는 <wchar.h> |
자세한 호환성에 대 한 내용은 호환성 소개에서 합니다.
예제
// 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" );
}
입력
1 2 3
Output
Enter three integers: 1 2 3
You entered 3 2 1
참고 항목
참조
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l