다음을 통해 공유


_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l

읽기 콘솔에서 데이터를 포맷합니다.각각의 보다 안전한 버전 _cscanf, _cscanf_l, _cwscanf, _cwscanf_l 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.

중요중요

이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수.

int _cscanf_s( 
   const char *format [,
   argument] ... 
);
int _cscanf_s_l( 
   const char *format,
   locale_t locale [,
   argument] ... 
);
int _cwscanf_s( 
   const wchar_t *format [,
   argument] ... 
);
int _cwscanf_s_l( 
   const wchar_t *format,
   locale_t locale [,
   argument] ... 
);

매개 변수

  • format
    컨트롤 서식 문자열입니다.

  • argument
    선택적 매개 변수입니다.

  • locale
    사용 하는 로캘.

반환 값

성공적으로 변환 되 고 지정 된 필드 개수입니다.반환 값은 읽을 수 있지만 지정 된 필드가 포함 되지 않습니다.반환 값은 EOF 파일의 끝에 읽고 하려고 합니다.운영 체제의 명령줄 수준에서 키보드 입력을 리디렉션할 때 발생할 수 있습니다.반환 값 필드가 없는 할당 된 0 의미 합니다.

이러한 함수 매개 변수의 유효성을 검사 합니다.경우 format 는 null 포인터에 설명 된 대로 이러한 함수를 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사.이러한 함수는 실행을 계속 하도록 허용 된 경우, 반환 EOF 및 errno 로 설정 된 EINVAL.

설명

_cscanf_s 함수가 데이터를 읽습니다 콘솔에서 직접 주어진 위치에 argument._Getche 함수를 사용 하 여 문자를 읽습니다.각 선택적 매개 변수에 형식 지정자에 해당 하는 형식의 변수에 대 한 포인터 이어야 합니다 format.해석의 입력 필드와 같으면 컨트롤 서식 양식 및 기능의 format 매개 변수는 scanf_s 함수.반면 _cscanf_s 일반적으로 에코 입력된 문자를 마지막 호출이 이렇게 하지 않는 _ungetch.

같은 다른 함수의 보안 버전의scanf 제품군, _cscanf_s 및 _cswscanf_s 형식 필드 문자 크기 인수가 필요 c, C, s, S, 및 [.자세한 내용은 scanf 폭 사양을 참조하십시오.

[!참고]

Size 매개 변수 형식인 unsigned, size_t.

이러한 함수 버전을 _l 접미사는 전달 하지 않고 현재 스레드 로캘은 로캘 매개 변수를 사용 하는 것을 제외 하 고 동일 합니다.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

_UNICODE 및 _mbcs가 정의 되어 있지 않습니다

_Mbcs가 정의

_Unicode가 정의

_tcscanf_s

_cscanf_s

_cscanf_s

_cwscanf_s

_tcscanf_s_l

_cscanf_s_l

_cscanf_s_l

_cwscanf_s_l

요구 사항

루틴

필수 헤더

_cscanf_s,_cscanf_s_l

<conio.h>

_cwscanf_s, _cwscanf_s_l

<conio.h> 또는 <wchar.h>

자세한 호환성에 대 한 내용은 호환성 소개에서 합니다.

라이브러리

모든 버전의 C 런타임 라이브러리.

예제

// crt_cscanf_s.c
// compile with: /c
/* This program prompts for a string
 * and uses _cscanf_s to read in the response.
 * Then _cscanf_s returns the number of items
 * matched, and the program displays that number.
 */

#include <stdio.h>
#include <conio.h>

int main( void )
{
   int result, n[3];
   int i;

   result = _cscanf_s( "%i %i %i", &n[0], &n[1], &n[2] );
   _cprintf_s( "\r\nYou entered " );
   for( i=0; i<result; i++ )
      _cprintf_s( "%i ", n[i] );
   _cprintf_s( "\r\n" );
}

입력

1 2 3

Output

You entered 1 2 3

참고 항목

참조

콘솔 및 포트 I/O

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l