Home C&C++函数库 c++ 语法 程序源码 Linux C库

wcstoll

函数  <cwchar>

long long int wcstoll (const wchar_t* str, wchar_t** endptr, int base);
将宽字符串类型转换为 long long integer类型

解析C宽字符串str,将其内容解释为指定base(进制)的整数,并以long long int形式返回其值。 如果endptr不是空指针,该函数还将整数后面的第一个字符设置为endptr指向的值。

这是与strtoll (<cstdlib>)等效的宽字符版本,以同样的方式解释str。

☲  参数



str
以整数表示开头的宽字符串。

endptr
引用类型为wchar_t*的已分配对象,其值由函数设置为整数后的str中的下一个字符。

该参数也可以是空指针,在这种情况下,函数不会使用它。

☉  返回值



如果成功,该函数将转换后的整数作为 long long int类型的值返回。
如果不能执行有效的转换,则函数返回0(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;
}

输出:
The decimal equivalents are: 1856892505, 6358606123, -208340076 and 7340031


🍄  另请参阅



strtoll 将字符串转换为 long long integer(function )
wcstol 将宽字符串转换为 long integer (function )
wcstod 将宽字符串转换为double (function )
wcstoull 将宽字符串转换为 unsigned long long integer(function )

联系我们 免责声明 关于CandCplus 网站地图