Преобразовать строку широких символов в длинное целое число (long integer)
#include <wchar.h>long wcstol( const wchar_t *ptr,wchar_t **endptr,int base );long long wcstoll( const wchar_t *ptr,wchar_t **endptr,int base );
NULL
, функция сохраняет по адресу из значения аргумента указатель на первое вхождение нераспознанного символа, найденного в строке.0x
или 0X
, то цифры рассматриваются как шестнадцатеричные. Если первый символ равен 0
, цифры рассматриваются как восьмеричные. Во всех остальных случаях используется десятичное основание числа. 2
до 36
. Буквы a-z
и A-Z
используются для представления значений от 10
до 35
. Только те буквы, значение которых меньше base, разрешены. Если основание числа равно 16
, символы 0x
или 0X
могут опционально предшествовать последовательности букв и цифр. libc
Функция wcstol() преобразует строку, указанную в аргументе ptr, в число с типом long
; wcstoll() преобразует строку в число с типом long long
.
Эти функции преобразуют строки, которые могут содержать:
Преобразование прекращается при первом нераспознанном широком символе. Если endptr не NULL
, указатель на нераспознанный символ сохраняется в объекте, на который указывает endptr.
Преобразованное значение.
Если преобразованное значение вызывает переполнение, функция возвращает (INTMAX_MAX
| UINTMAX_MAX
или INTMAX_MIN
) в соответствии знаку и устанавливает значение ERANGE
переменной errno. Если основание за пределами диапазона, функция возвращает ноль, а переменной errno устанавливается значение EDOM
.
ANSI, POSIX 1003.1
errno wcrtomb(), wcsrtombs(), wcstod(), wcstof(), wcstold(), wcstoimax(), wcstoumax(), wcstok(), wcstombs(), wcstoul(), wcstoull(), wctob(), wctomb()
Предыдущий раздел: Описание API системной библиотеки