Convert a wide-character string into an unsigned long integer
#include <wchar.h> long wcstoul( const wchar_t * ptr, wchar_t ** endptr, int base ); long long wcstoull( const wchar_t * ptr, char** endptr, int base );
Use the -l c option to qcc to link against this library. This library is usually included automatically.
These functions convert a wide-character string into a number:
These functions recognize a string containing optional white space, followed by a sequence of digits and letters. The conversion ends at the first unrecognized character. A pointer to that character is stored in the object endptr points to, if endptr isn't NULL.
If base is zero, the first characters determine the base used for the conversion. If the first characters are 0x or 0X the digits are treated as hexadecimal. If the first character is 0, the digits are treated as octal. Otherwise, the digits are treated as decimal.
If base isn't zero, it must have a value of between 2 and 36. The letters a-z and A-Z represent the values 10 through 35. Only those letters whose designated values are less than base are permitted. If the value of base is 16, the characters 0x or 0X may optionally precede the sequence of letters and digits.
The converted value.
If the correct value causes an overflow, ULONG_MAX|ULONGLONG_MAX is returned and errno is set to ERANGE. If base is out of range, zero is returned and errno is set to EDOM.
ANSI, POSIX 1003.1
errno wcrtomb(), wcsrtombs(), wcstod(), wcstof(), wcstold(), wcstoimax(), wcstoumax(), wcstok(), wcstol(), wcstoll(), wcstombs(), wctob(), wctomb()