wcstod(), wcstof(), wcstold()

Преобразовать строку широких символов в число с двойной точностью (double), с плавающей точкой (float), или длинное число с двойной точностью (long double)

Прототип:

#include <wchar.h>
double wcstod( const wchar_t *ptr,
wchar_t **endptr );
float wcstof( const wchar_t *ptr,
wchar **endptr );
long double wcstold( const wchar_t *ptr,
wchar **endptr );

Аргументы:

nptr
Указатель на строку для преобразования.
endptr
Если этот параметр не равен NULL, функция сохраняет в по адресу из значения параматра первый нераспознанный символ, который встретился в строке.

Библиотека:

libc

Описание:

Следующие функции преобразуют строку широких символов в число:

Функции распознают строки, которые могут содержать следующее:

Функция ожидает строку со знаком плюса или минуса, за которым следует одна из следующих конструкций:

Значение корректно преобразовано, если полученное число шестнадцатеричное, а FLT_RADIX равен 2.

Интерпретация основания системы счисления чувствительно к локали, указанной в LC_NUMERIC.

Преобразование прекращается при первом нераспознанном широком символе. Если endptr не NULL, указатель на нераспознанный символ сохраняется в объекте, на который указывает endptr.


Note: В связи с тем, что 0 это допустимое возвращаемое значения при корректной работе функции, но и значение, сигнализирующее об ошибке, необходимо установить переменной errno значение 0 до вызова функии, а после выполнения проанализировать ее значение. При успешном выполнении функция не изменяет значение errno.

Возвращаемое значение:

Преобразованное значение.

Если преобразованное значение вызывает переполнение, функция возвращает HUGE_VAL с плюсом или минусом в зависимости от знака и устанавливает значение ERANGE переменной errno. Если основание за пределами диапазона, функция возвращает ноль, а переменной errno устанавливается значение ERANGE.

Функция возвращает ноль, когда входная строка не может быть преобразована. При появлении ошибки, ее демонстрирует значение errno.

Классификация:

ANSI, POSIX 1003.1

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

errno wcrtomb(), wcsrtombs(), wcstoimax(), wcstoumax(), wcstok(), wcstol(), wcstoll(), wcstombs(), wcstoul(), wcstoull(), wctob(), wctomb()




Предыдущий раздел: Описание API системной библиотеки