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

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

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

函数
<cwchar>
wcstoll
long long int strtoll (const wchar_t* str, wchar_t** endptr, int base);
将宽字符串转换为long long整数 
解析C宽字符串str,将其内容解释为指定base的整数,该整数作为long long int值返回。如果endptr不是空指针,该函数还将endptr的值设置为指向数字后面的第一个字符。
这是strtoll<cstdlib>)的宽字符的等效函数,以相同的方式解释str。

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

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

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

int main ()
{
  wchar_t wsNumbers[] = L"1856892505 17b00a12b -01100011010110000010001101100 0x6fffff";
  wchar_t * pEnd;
  long long int lli1, lli2, lli3, lli4;
  lli1 = wcstoll (wsNumbers,&pEnd,10);
  lli2 = wcstoll (pEnd,&pEnd,16);
  lli3 = wcstoll (pEnd,&pEnd,2);
  lli4 = wcstoll (pEnd,NULL,0);
  wprintf (L"The decimal equivalents are: %lld, %lld, %lld and %lld.\n", lli1, lli2, lli3, lli4);
  return 0;
}
可能的输出:

另请参考
strtoll    Convert string to long long integer (function)
wcstol    Convert wide string to long integer (function)
wcstoull    Convert wide string to unsigned long long integer (function)
wcstod    Convert wide string to double (function) 


网站公告

今日签到

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