C++官网参考链接:https://cplusplus.com/reference/cwchar/wcstoull/
函数
wcstoull
unsigned long long int wcstoull (const wchar_t* str, wchar_t** endptr, int base);
将宽字符串转换为unsigned long long整数
解析C宽字符串str,将其内容解释为指定base的整数,该整数作为unsigned long long int值返回。如果endptr不是空指针,该函数还将endptr的值设置为指向数字后面的第一个字符。
这是strtoull(
形参
str
以整数表示开始的宽字符串。
endptr
对wchar_t*类型对象的引用,其值由函数设置为str中数值之后的下一个字符。
此形参也可以是空指针,在这种情况下不使用它。
返回值
如果成功,该函数将转换后的整数值作为unsigned long long int值返回。
如果不能执行有效的转换,则返回0值(0ULL)。
如果读取的值超出了unsigned long long int的可表示值的范围,函数返回ULLONG_MAX(在
用例
/* wcstoull example */
#include
int main ()
{
wchar_t wsNumbers[] = L"250068492 7b06af00 1100011011110101010001100000 0x6fffff";
wchar_t * pEnd;
unsigned long long int ulli1, ulli2, ulli3, ulli4;
ulli1 = wcstoull (wsNumbers,&pEnd,10);
ulli2 = wcstoull (pEnd,&pEnd,16);
ulli3 = wcstoull (pEnd,&pEnd,2);
ulli4 = wcstoull (pEnd,NULL,0);
wprintf (L"The decimal equivalents are: %llu, %llu, %llu and %llu.\n", ulli1, ulli2, ulli3, ulli4);
return 0;
}
可能的输出: