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

wcstol

函数  <cwchar>

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

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

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

☲  参数



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

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

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

☉  返回值



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

☣  示例



/* wcstol example */
#include <wchar.h>

int main ()
{
  wchar_t wsNumbers[] = L"2001 60c0c0 -1101110100110100100000 0x6fffff";
  wchar_t * pEnd;
  long int li1, li2, li3, li4;
  li1 = wcstol (wsNumbers,&pEnd,10);
  li2 = wcstol (pEnd,&pEnd,16);
  li3 = wcstol (pEnd,&pEnd,2);
  li4 = wcstol (pEnd,NULL,0);
  wprintf (L"The decimal equivalents are: %ld, %ld, %ld and %ld.\n", li1, li2, li3, li4);
  return 0;
}

输出:
The decimal equivalents are: 2001, 6340800, -3624224 and 7340031


🍄  另请参阅



strtol 将字符串转换为 long integer(function )
wcstod 将宽字符串转换为double (function )
wcstoul 将宽字符串转换为unsigned long integer (function )

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