다음을 통해 공유


_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. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

scanf 폭 사양