function
<cwchar>

wcstoull

unsigned long long int wcstoull (const wchar_t* str, wchar_t** endptr, int base);
Convert wide string to unsigned long long integer
Parses the C wide string str interpreting its content as an integral number of the specified base, which is returned as an unsigned long long int value. If endptr is not a null pointer, the function also sets the value of endptr to point to the first character after the number.

This is the wide character equivalent of strtoull (<cstdlib>), interpreting str in the same way.

Parameters

str
C wide string beginning with the representation of an integral number.
endptr
Reference to an object of type wchar_t*, whose value is set by the function to the next character in str after the numerical value.
This parameter can also be a null pointer, in which case it is not used.

Return Value

On success, the function returns the converted integral number as an unsigned long long int value.
If no valid conversion could be performed, a zero value is returned (0ULL).
If the value read is out of the range of representable values by an unsigned long long int, the function returns ULLONG_MAX (defined in <climits>), and errno is set to ERANGE.

Example

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;
}

Possible output:

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


See also