다음을 통해 공유


_strtoi64, _wcstoi64, _strtoi64_l, _wcstoi64_l

문자열을 __int64 값으로 변환합니다.

__int64 _strtoi64(
   const char *nptr,
   char **endptr,
   int base 
);
__int64 _wcstoi64(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
__int64 _strtoi64_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
__int64 _wcstoi64_l(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

매개 변수

  • nptr
    변환할 Null 종료 문자열입니다.

  • endptr
    스캔을 중지하는 문자에 대한 포인터입니다.

  • base
    사용할 번호 기준입니다.

  • locale
    사용할 로캘입니다.

반환 값

_strtoi64는 오버플로가 발생되는 시기를 제외하고 nptr 문자열을 나타내는 값을 반환합니다. 이러한 경우 _I64_MAX 또는 _I64_MIN를 반환합니다. 변환을 수행할 수 없는 경우 함수는 0을 반환할 것입니다. _wcstoi64이 analogously 값을 strtoi64에 반환 합니다.

_I64_MAX 및 _I64_MIN은 LIMITS.H에 정의되어 있습니다.

nptr이 NULL이 되거나 base가 0이 아니고 2보다 작거나 36보다는 클 경우 errno는 EINVAL로 설정됩니다.

이러한 반환 코드와 다른 반환코드에 대한 자세한 정보는 _doserrno, errno, _sys_errlist, and _sys_nerr 를 참조하십시오.

설명

이 _strtoi64함수는 nptr 을 __int64로 변환합니다. 두 함수 모두 숫자 부분으로 인식할 수 없는 첫 번째 문자에서 문자열 nptr를 중단합니다. 이는 null 종결 문자 이거나 base 와 같거나 더 큰 첫번째 숫자 일 수 있습니다. _wcstoi64는 _strtoi64의 와이드 문자 버전이며, nptr 인수는 와이드 문자 문자열입니다. 그렇지 않다면 이러한 함수는 동일하게 작동합니다.

제네릭 텍스트 라우팅 매핑

TCHAR.H 루틴

_UNICODE 및 _MBCS 정의되지 않음

_MBCS 정의됨

_UNICODE 정의됨

_tcstoi64

_strtoi64

_strtoi64

_wcstoi64

_tcstoi64_l

_strtoi64_l

_strtoi64_l

_wcstoi64_l

로캘의 LC_NUMERIC 범주 설정은 nptr*;* 에서 기수 문자 인식 여부를 결정합니다. 자세한 내용은 setlocale을 참조하십시오. _L 접미사가 없는 함수는 현재 로캘을 사용합니다; _strtoi64_l 와_wcstoi64_l 는 대신 전달 된 로캘을 사용하는 경우를 제외하고 _l 접미사가 없는 함수에 대하여 동일합니다. 자세한 내용은 로캘을 참조하십시오.

endptr 가 NULL이 아닌 경우 스캔을 중지시키는 문자에 대한 포인터는 endptr가 가리키는 위치에 저장됩니다. 변환을 수행할 수 없는 경우(유효 숫자를 찾을 수 없거나 잘못된 기준이 지정됨), nptr 의 값은 endptr가 가리키는 위치에 저장됩니다.

_strtoi64에서는 다음 양식의 문자열을 가리키는 nptr 를 예상합니다.

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

하나의 whitespace 는 공백과 탭 문자로 구성될 수 있으며 무시 됩니다; digits 는 하나 이상의 10진수 숫자입니다. 이 폼에 맞지 않는 첫 번째 문자는 검색을 중지합니다. base가 2와 36 사이에 있으면 번호의 기준으로 사용됩니다. base가 0이 되는 경우 nptr가 지시하는 문자열의 최초 문자가 베이스 결정에 사용됩니다. 첫 번째 문자가 '0'이고 두 번째 문자가 'x' 또는 'X'가 아닌 경우 문자열은 8진수 정수로 해석됩니다. 첫 번째 문자가 '0'이고 두 번째 문자가 'x' 또는 'X'인 경우 문자열은 16진수 정수로 해석됩니다. 첫 번째 문자가 '1'부터 '9'이면 문자열은 10진수로 해석됩니다. 문자 'a'부터 'z'(또는 'A'부터 'Z')는 10-35 값이 할당됩니다. 즉, 할당된 값이 base 보다 작은 문자만이 허용됩니다. 기준 범위를 벗어나는 첫 번째 문자는 검색을 중지합니다. 예를 들어 base 가 0이고 스캔된 첫 번째 문자가 '0'이 되는 경우 8진수 정수가 되고 '8' 또는 '9' 문자가 스캔을 중지 시킬 수 있습니다.

요구 사항

루틴

필수 헤더

_strtoi64, _strtoi64_l

<stdlib.h>

_wcstoi64, _wcstoi64_l

<stdlib.h> 또는 <wchar.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

참고 항목

참조

데이터 변환

로캘

localeconv

setlocale, _wsetlocale

문자열을 숫자 값으로 변환하는 함수

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l