strtol, wcstol, _strtol_l, _wcstol_l
문자열을 정수 long 값으로 변환합니다.
long strtol(
const char *nptr,
char **endptr,
int base
);
long wcstol(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
long _strtol_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
long _wcstol_l(
const wchar_t *nptr,
wchar_t **endptr,
int base,
_locale_t locale
);
매개 변수
nptr
변환할 Null 종료 문자열입니다.endptr
스캔을 중지하는 문자에 대한 포인터입니다.base
사용할 번호 기준입니다.locale
사용할 로캘입니다.
반환 값
strtol 는 오버플로가 발생되는 시기를 제외하고 nptr 문자열을 나타내는 값을 반환합니다. 이러한 경우 LONG_MAX 또는 LONG_MIN를 반환합니다. strtol 은 변환을 수행할 수 없는 경우 0을 반환합니다. wcstol이 analogously 값을 strtol에 반환 합니다. 두 함수 모두 오버플로 또는 언더플로가 발생하면 errno가 ERANGE로 설정됩니다.
이러한 반환 코드와 다른 반환코드에 대한 자세한 정보는 _doserrno, errno, _sys_errlist, and _sys_nerr 를 참조하십시오.
설명
strtol 함수는 nptr를 long로 변환합니다. strtol는 숫자 부분으로 인식할 수 없는 첫 번째 문자에서 문자열 nptr 읽기를 중단합니다. 이는 null 종결 문자 이거나 base 와 같거나 더 큰 첫번째 숫자 일 수 있습니다.
wcstol는 strtol의 와이드 문자 버전이며, nptr 인수는 와이드 문자 문자열입니다. 그렇지 않다면 이러한 함수는 동일하게 작동합니다.
제네릭 텍스트 라우팅 매핑
TCHAR.H 루틴 |
_UNICODE 및 _MBCS 정의되지 않음 |
_MBCS 정의됨 |
_UNICODE 정의됨 |
---|---|---|---|
_tcstol |
strtol |
strtol |
wcstol |
_tcstol_l |
_strtol_l |
_strtol_l |
_wcstol_l |
]현재 로캘의 LC_NUMERIC 범주 설정은 nptr*;* 에서 기수 문자의 인식 여부를 결정합니다. 자세한 내용은 setlocale을 참조하십시오. _L 접미사가 없는 함수는 현재 로캘을 사용합니다. _l 와 _strtol_l _wcstol_l는 대신 전달 된 로캘을 사용하는 경우를 제외하고 _l 접미사가 없는 함수에 대하여 동일합니다. 자세한 내용은 로캘을 참조하십시오.
endptr 가 NULL이 아닌 경우 스캔을 중지시키는 문자에 대한 포인터는 endptr가 가리키는 위치에 저장됩니다. 변환을 수행할 수 없는 경우(유효 숫자를 찾을 수 없거나 잘못된 기준이 지정됨), nptr 의 값은 endptr가 가리키는 위치에 저장됩니다.
strtol 는 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' 문자가 스캔을 중지 시킬 수 있습니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
strtol |
<stdlib.h> |
wcstol |
<stdlib.h> 또는 <wchar.h> |
_strtol_l |
<stdlib.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
예제
strtod의 예제를 참조하십시오.
해당 .NET Framework 항목
참고 항목
참조
strtod, _strtod_l, wcstod, _wcstod_l