函数
<cwchar>

wcstoul

unsigned long int wcstoul (const wchar_t* str, wchar_t** endptr, int base);
将宽字符串转换为无符号长整数
解析 C 宽字符串str,根据指定的base将其内容解释为整型数字,并返回unsigned long intlong int

这是 strtoul<cstdlib>)的宽字符等价函数,其解析str的方式与 strtoul 相同。

参数

str
包含整型数字表示的 C 宽字符串。
endptr
对一个wchar_t*类型对象的引用,函数会将其值设置为 str 中数值部分之后的下一个字符。
该参数也可以是一个空指针,此时它将不被使用。

返回值

成功时,该函数将其转换后的整型数字作为unsigned long intlong int
如果无法执行有效的转换,则返回零值。
如果读取的值超出了可表示范围unsigned long intlong intULONG_MAXLONG_MINERANGE.

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* wcstoul example */
#include <stdio.h>
#include <wchar.h>

int main ()
{
  wchar_t wsInput [256];
  unsigned long ul;
  wprintf (L"Enter an unsigned number: ");
  fgetws (wsInput,256,stdin);
  ul = wcstoul (wsInput,NULL,0);
  wprintf (L"Value entered: %lu. Its double: %lu\n",ul,ul*2);
  return 0;
}

可能的输出
Enter an unsigned number: 25
Value entered: 25. Its double: 50


另见