Преобразовать строку широких символов в беззнаковое длинное целое число
#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 );
NULL, функция сохраняет в по адресу из значения параматра первый нераспознанный символ, который встретился в строке.libc
Функции, которые преобразуют строку, состоящую из широких символов, в число:
unsigned long unsigned long long. Обе функции распознают строку, которая может содержать необязательный пробел, за которым следует последовательность цифр и букв. Преобразование прекращается при первом нераспознанном широком символе. Если endptr не NULL, указатель на нераспознанный символ сохраняется в объекте, на который указывает endptr.
Если base равен нулю, первые символы после знака (необязательного) определяют основание для преобразования. Если первый символ 0x или 0X, то цифры рассматриваются как шестнадцатеричные. Если первый символ равен 0, цифры рассматриваются как восьмеричные. Во всех остальных случаях используется десятичное основание числа. Если base не равен нулю, аргумент должен быть в диапазоне от 2 до 36. Буквы a-z и A-Z используются для представления значений от 10 до 35. Только те буквы, значение которых меньше base, разрешены. Если основание числа равно 16, символы 0x или 0X могут опционально предшествовать последовательности букв и цифр.
Преобразованное значение.
Если преобразованное значение вызывает переполнение, функция возвращает ULONG_MAX | ULONGLONG_MAX и устанавливает значение ERANGE переменной errno. Если основание за пределами диапазона, функция возвращает ноль, а переменной errno устанавливается значение EDOM.
ANSI, POSIX 1003.1
errno wcrtomb(), wcsrtombs(), wcstod(), wcstof(), wcstold(), wcstoimax(), wcstoumax(), wcstok(), wcstol(), wcstoll(), wcstombs(), wctob(), wctomb()
Предыдущий раздел: Описание API системной библиотеки