_snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l
서식이 지정 된 문자열에서 지정 된 길이의 데이터 읽기.이러한 버전의 있습니다 _snscanf, _snscanf_l, _snwscanf, _snwscanf_l 와 보안 기능 향상에 설명 된 대로 CRT의 보안 기능.
int __cdecl _snscanf_s(
const char * input,
size_t length,
const char * format,
...
);
int __cdecl _snscanf_s_l(
const char * input,
size_t length,
const char * format,
locale_t locale,
...
);
int __cdecl _snwscanf_s(
const wchar_t * input,
size_t length,
const wchar_t * format,
...
);
int __cdecl _snwscanf_s_l(
const wchar_t * input,
size_t length,
const wchar_t * format,
locale_t locale,
…
);
매개 변수
input
입력된 문자열을 검사 합니다.length
문자에서 검사를 input.format
하나 이상의 형식 지정자입니다.... (optional)
입력된 문자열에서의 형식 지정자에서 추출 된 값을 저장 하는 데 사용할 변수 format.locale
사용 하는 로캘.
반환 값
이러한 함수를 성공적으로 변환 하 고 지정 된 필드 수를 반환 합니다. 반환 값이 지정 되었지만 읽을 필드는 포함 되지 않습니다.반환 값이 0 이면 필드가 없는 할당 된 나타냅니다.반환 값이 EOF 오류에 대 한 첫 번째 변환 전에 문자열의 끝에 도달 하는 경우.자세한 내용은 sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l를 참조하십시오.
경우 input 또는 format 되는 NULL 포인터를 잘못 된 매개 변수 처리기 호출에서에 설명 된 대로 매개 변수 유효성 검사.다음이 함수 실행 계속할 수 있는지 여부를 반환 EOF 를 설정 하 고 errno 에 EINVAL.
이러한 문제 및 기타 오류 코드에 대 한에 대 한 자세한 내용은 _doserrno, errno, _sys_errlist, 및 _sys_nerr.
설명
다음과 같이이 함수는 sscanf_s 는 고정 된 수의 문자를 검사 하 여 입력된 문자열에서 지정할 수 있는 기능을 제공 된다는.자세한 내용은 sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l를 참조하십시오.
버퍼 크기 매개 변수는 형식 필드 문자를 반드시 c, C, s, S, 및 [.자세한 내용은 scanf 형식 필드 문자를 참조하십시오.
[!참고]
크기 매개 변수의 형식이 unsigned, 않습니다 size_t.
버전으로 이러한 함수는 _l 접미사는 현재 스레드의 로캘 대신 전달 된 로캘 매개 변수를 사용할 경우를 제외 하 고 동일 합니다.
일반 텍스트 루틴 매핑
Tchar.h 루틴 |
_UNICODE 및 _mbcs가 정의 되지 않았습니다. |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_sntscanf_s |
_snscanf_s |
_snscanf_s |
_snwscanf_s |
_sntscanf_s_l |
_snscanf_s_l |
_snscanf_s_l |
_snwscanf_s_l |
요구 사항
루틴 |
필수 헤더 |
---|---|
_snscanf_s, _snscanf_s_l |
<stdio.h> |
_snwscanf_s, _snwscanf_s_l |
<stdio.h> 또는 <wchar.h> |
더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
// crt_snscanf_s.c
// This example scans a string of
// numbers, using both the character
// and wide character secure versions
// of the snscanf function.
#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_s( str1, 6, "%s %f", s1, 3, &fp);
printf_s("_snscanf_s converted %d fields: ", i);
printf_s("%s and %f\n", s1, fp);
i = _snwscanf_s( str2, 6, L"%s %f", s2, 3, &fp);
wprintf_s(L"_snwscanf_s converted %d fields: ", i);
wprintf_s(L"%s and %f\n", s2, fp);
}
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.