_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

 

Visual Studio 2017 에 대한 최신 설명서는 Visual Studio 2017 설명서를 참조하세요.

문자열을 부호 없는 변환 __int64 값입니다.

unsigned __int64 _strtoui64(  
   const char *nptr,  
   char **endptr,  
   int base   
);  
unsigned __int64 _wcstoui64(  
   const wchar_t *nptr,  
   wchar_t **endptr,  
   int base   
);  
unsigned __int64 _strtoui64_l(  
   const char *nptr,  
   char **endptr,  
   int base,  
   _locale_t locale  
);  
unsigned __int64 _wcstoui64(  
   const wchar_t *nptr,  
   wchar_t **endptr,  
   int base,  
   _locale_t locale  
);  

매개 변수

nptr
Null로 끝나는 변환할 문자열입니다.

endptr
검색을 중지 하는 문자에 대 한 포인터입니다.

base
사용할 기 수입니다.

locale
사용할 로캘입니다.

_strtoui64문자열에 표시 되는 값을 반환 nptr표현 하면 오버플로가 발생할 것 때 않는 경우 반환 되는 제외 하 고 _UI64_MAX합니다. _strtoui64변환이 수행할 수 있으면 0을 반환 합니다.

_UI64_MAX제한에 정의 됩니다.&8;.

경우 nptrNULL 또는 base 0 및 2 되거나 36 보다 큰 errno 로 설정 된 EINVAL합니다.

참조 _doserrno, errno, _sys_errlist 및 _sys_nerr 자세한에 대 한 내용은 이러한 오류 코드 및 기타 반환 코드를 반환 합니다.

_strtoui64변환 함수 nptrunsigned __int64합니다. _wcstoui64와이드 문자 버전이 _strtoui64; 해당 nptr 인수는 와이드 문자 문자열입니다. 그렇지 않은 경우 이러한 함수는 동일 하 게 작동 합니다.

두 함수는 문자열을 읽으므로 중지 nptr 첫 번째 문자가 숫자의 일부로 인식할 수 없는 것입니다. 또는이 있습니다 null 종결 문자는 것이 첫 번째 숫자 보다 크거나 같은 base합니다.

제네릭 텍스트 라우팅 매핑

TCHAR.H 루틴_UNICODE 및 _MBCS 정의되지 않음_MBCS 정의됨_UNICODE 정의됨
_tcstoui64_strtoui64_strtoui64_wstrtoui64
_tcstoui64_l_strtoui64_l_strtoui64_l_wstrtoui64_l

현재 로캘의 LC_NUMERIC 범주 설정에는 내의 기 수 문자 인식 여부 결정 nptr; 자세한 내용은 참조 setlocale합니다. _L 접미사가 없는 함수가 현재 로캘을; 사용 _strtoui64_l_wcstoui64_l 는 동일 하지 않고 해당 함수에는 _l 대신 전달 된 로캘을 사용 한다는 점을 제외 하 고 접미사가 있습니다. 자세한 내용은 Locale을 참조하세요.

경우 endptr 없는 NULL, 검색을 중지 하는 문자에 대 한 포인터에서 가리키는 위치에 저장 된 endptr합니다. 변환이 수행할 수 있으면 (유효 자릿수 없이 발견 된 또는 잘못 된 base를 지정 했습니다)의 값 nptr 가 가리키는 위치에 저장 된 endptr합니다.

_strtoui64예상 nptr 다음 형식의 문자열을 가리키도록 합니다.

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

A 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' 문자는 검사를 중지 합니다.

루틴필수 헤더
_strtoui64<stdlib.h>
_wcstoui64<stdlib.h> 또는 <wchar.h>
_strtoui64_l<stdlib.h>
_wcstoui64_l<stdlib.h> 또는 <wchar.h>

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

// crt_strtoui64.c  
#include <stdio.h>  
  
unsigned __int64 atoui64(const char *szUnsignedInt) {  
   return _strtoui64(szUnsignedInt, NULL, 10);  
}  
  
int main() {  
   unsigned __int64 u = atoui64("18446744073709551615");  
   printf( "u = %I64u\n", u );  
}  

u = 18446744073709551615  

데이터 변환
로캘
localeconv
setlocale, _wsetlocale
문자열을 숫자 값 함수
strtod, _strtod_l, wcstod, _wcstod_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l
atof, _atof_l, _wtof, _wtof_l

표시: