Share via


_snscanf, _snscanf_l, _snwscanf, _snwscanf_l

서식이 지정 된 문자열에서 지정 된 길이의 데이터 읽기.이러한 함수를 더 안전한 버전을 사용할 수 있습니다. see _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l.

int __cdecl _snscanf(
   const char * input,
   size_t length,
   const char * format,
   ...
);
int __cdecl _snscanf_l(
   const char * input,
   size_t length,
   const char * format,
   locale_t locale,
   ...
);
int __cdecl _snwscanf(
   const wchar_t * input,
   size_t length,
   const wchar_t * format,
   ...
);
int __cdecl _snwscanf_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.

경우 input 또는 format 되는 NULL 포인터를 경우 length 가 보다 작거나 0으로 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.다음이 함수 실행 계속할 수 있는지 여부를 반환 EOF 를 설정 하 고 errno 에 EINVAL.

이러한 문제 및 기타 오류 코드에 대 한에 대 한 자세한 내용은 _doserrno, errno, _sys_errlist, 및 _sys_nerr.

설명

다음과 같이이 함수는 sscanf 는 고정 된 수의 문자를 검사 하 여 입력된 문자열에서 지정할 수 있는 기능을 제공 된다는.자세한 내용은 sscanf.

버전으로 이러한 함수는 _l 접미사는 현재 스레드의 로캘 대신 전달 된 로캘 매개 변수를 사용할 경우를 제외 하 고 동일 합니다.

일반 텍스트 루틴 매핑

Tchar.h 루틴

_UNICODE 및 _mbcs가 정의 되지 않았습니다.

_Mbcs가 정의

_Unicode가 정의

_sntscanf

_snscanf

_snscanf

_snwscanf

_sntscanf_l

_snscanf_l

_snscanf_l

_snwscanf_l

요구 사항

루틴

필수 헤더

_snscanf, _snscanf_l

<stdio.h>

_snwscanf, _snwscanf_l

<stdio.h> 또는 <wchar.h>

더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_snscanf.c
// compile with: /W3

#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( str1, 6,  "%s %f", s1, &fp); // C4996
   // Note: _snscanf is deprecated; consider using _snscanf_s instead
   printf("_snscanf converted %d fields: ", i);
   printf("%s and %f\n", s1, fp);

   i = _snwscanf( str2, 6,  L"%s %f", s2, &fp); // C4996
   // Note: _snwscanf is deprecated; consider using _snwscanf_s instead
   wprintf(L"_snwscanf converted %d fields: ", i);
   wprintf(L"%s and %f\n", s2, fp);
}
  

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

scanf 폭 사양