Преобразовать строку широких символов в беззнаковое длинное целое число
#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 системной библиотеки