函式
<cwchar>

wcstoull

unsigned long long int wcstoull (const wchar_t* str, wchar_t** endptr, int base);
將寬字串轉換為無符號長整型
解析C寬字串str,根據指定的base將其內容解釋為整數,並返回unsigned long long int型別的值返回。如果 endptr 不是空指標,函式還會將 endptr 的值設定為指向數字之後的第一個字元。

這是strtoull<cstdlib>)的寬字元等效函式,以相同方式解釋str

引數

str
以整數表示開頭的 C 風格寬字串。
endptr
對一個wchar_t*型別物件的引用,函式會將其值設定為 str 中數值部分之後的下一個字元。
該引數也可以是一個空指標,此時它將不被使用。

返回值

成功時,該函式將其轉換後的整型數字作為unsigned long long intlong int
如果無法執行有效的轉換,則返回零值(0ULL).
如果讀取的值超出了可表示範圍unsigned long long intlong intULLONG_MAXLONG_MINERANGE.

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* 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;
}

可能的輸出

The decimal equivalents are: 250068492, 2064035584, 208622688 and 7340031.


另見