strtoll
, _strtoll_l
, wcstoll
_wcstoll_l
문자열을 long long
값으로 변환합니다.
구문
long long strtoll(
const char *strSource,
char **endptr,
int base
);
long long wcstoll(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
long long _strtoll_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
long long _wcstoll_l(
const wchar_t *strSource,
wchar_t **endptr,
int base,
_locale_t locale
);
매개 변수
strSource
변환할 Null 종료 문자열입니다.
endptr
검색을 중지하는 문자에 대한 포인터입니다.
base
사용할 기수입니다.
locale
사용할 로캘입니다.
반환 값
strtoll
은 문자열 strSource
로 표현되는 값을 반환합니다. 단, 해당 표현으로 인해 오버플로가 발생하는 경우에는 LLONG_MAX
또는 LLONG_MIN
을 반환합니다. 변환을 수행할 수 없으면 이 함수는 0을 반환합니다. wcstoll
는 strtoll
와 동일한 값을 반환합니다.
LLONG_MAX
및 LLONG_MIN
은 LIMITS.H에서 정의됩니다.
strSource
이 NULL
이거나 base
가 0이 아니고 2보다 작거나 36보다 크면 errno
는 EINVAL
로 설정됩니다.
반환 코드에 대한 자세한 내용은 , , 및 를 참조하세요errno
._sys_nerr
_sys_errlist
_doserrno
설명
strtoll
함수는 strSource
을 long long
으로 변환합니다. 두 함수 모두 숫자의 일부로 인식할 수 없는 첫 번째 문자에서 문자열 strSource
읽기를 중지합니다. 종료 null 문자일 수도 있으며, 첫 번째 숫자 문자가 1보다 크거나 같을 base
수도 있습니다. wcstoll
은 strtoll
의 와이드 문자 버전입니다. 이 함수의 strSource
인수는 와이드 문자열입니다. 그 외의 경우에는 이들 함수가 동일하게 동작합니다.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
일반 텍스트 루틴 매핑
TCHAR.H 루틴 | _UNICODE 및 _MBCS 정의되지 않음 |
정의된 _MBCS |
정의된 _UNICODE |
---|---|---|---|
_tcstoll |
strtoll |
strtoll |
wcstoll |
_tcstoll_l |
_strtoll_l |
_strtoll_l |
_wcstoll_l |
로캘의 LC_NUMERIC
범주 설정에 따라 radix 문자strSource
의 인식이 결정됩니다. 자세한 내용은 다음_wsetlocale
을 참조하세요setlocale
. _l
접미사가 없는 함수는 현재 로캘을 사용하며, _strtoll_l
및 _wcstoll_l
은 전달된 로캘을 대신 사용한다는 점을 제외하면 접미사가 없는 해당 함수와 동일합니다. 자세한 내용은 Locale을 참조하세요.
그렇지 않은 NULL
경우 endptr
검색을 중지한 문자에 대한 포인터가 가리키는 endptr
위치에 저장됩니다. 올바른 숫자를 찾을 수 없거나 잘못된 밑을 지정하여 변환을 수행할 수 없는 경우에는 strSource
의 값이 endptr
에서 가리키는 위치에 저장됩니다.
strtoll
에서는 strSource
이 다음 형식의 문자열을 가리켜야 합니다.
[
whitespace
] [{+
|-
}] [0
[{x
|X
}]] []digits
|letters
whitespace
는 공백과 탭 문자(무시됨)로 구성될 수 있습니다. digits
는 하나 이상의 10진수이고 letters
는 'a'~'z' 또는 'A'~'Z' 범위의 문자 하나 이상입니다. 이 양식에 맞지 않는 첫 번째 문자는 검사를 중지합니다. 2에서 36 사이이면 base
숫자의 기준으로 사용됩니다. base
가 0인 경우에는 strSource
에서 가리키는 문자열의 초기 문자를 사용하여 밑을 결정합니다. 첫 번째 문자가 '0'이고 두 번째 문자가 'x' 또는 'X'가 아닌 경우 문자열은 8진수 정수로 해석됩니다. 첫 번째 문자가 '0'이고 두 번째 문자가 'x' 또는 'X'이면 문자열은 16진수 정수로 해석됩니다. 첫 번째 문자가 '1'~'9' 이면 문자열은 10진수 정수로 해석됩니다. 문자 'a'~'z' 또는 'A'~'Z'에는 값 10~35가 할당됩니다. 할당된 값이 base
보다 작은 문자만 사용할 수 있습니다. 밑의 범위를 벗어난 첫 번째 문자가 발견되면 검색이 중지됩니다. 예를 들어 base
가 0인데 처음 검색된 문자가 '0'이면 문자열은 8진수 정수로 간주되며 '8' 또는 '9' 문자가 발견되면 검색은 중지됩니다.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
strtoll , _strtoll_l |
<stdlib.h> |
wcstoll , _wcstoll_l |
<stdlib.h> 또는 <wchar.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
참고 항목
데이터 변환
Locale
localeconv
setlocale
, _wsetlocale
문자열에서 숫자 값 함수로
strtod
, _strtod_l
, wcstod
_wcstod_l
strtol
, wcstol
, _strtol_l
_wcstol_l
strtoul
, _strtoul_l
, wcstoul
_wcstoul_l
atof
, _atof_l
, _wtof
_wtof_l