C++ Reference: Standard C++ Library reference: C Library: cwchar: wcstoull

发布于:2022-11-04 ⋅ 阅读:(283) ⋅ 点赞:(0)

C++官网参考链接:https://cplusplus.com/reference/cwchar/wcstoull/

函数 
<cwchar>
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<cstdlib>)的宽字符的等效函数,以相同的方式解释str。

形参 
str
以整数表示开头的宽字符串。
endptr
对wchar_t*类型对象的引用,其值由函数设置为str中数值之后的下一个字符。
此形参也可以是空指针,在这种情况下不使用它。

返回值
如果成功,该函数将转换后的整数值作为unsigned long long int值返回。
如果不能执行有效的转换,则返回零值(0ULL)。
如果读取的值超出了unsigned long long int的可表示值的范围,函数返回ULLONG_MAX(在<climits>中定义),并将errno设置为ERANGE。

用例
/* wcstoull example */
#include <wchar.h>

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;
}
可能的输出:

另请参考
strtoull    Convert string to unsigned long long integer (function)
wcstoul    Convert wide string to unsigned long integer (function)
wcstoll    Convert wide string to long long integer (function)
wcstod    Convert wide string to double (function) 


网站公告

今日签到

点亮在社区的每一天
去签到