"> STRTOD(3C)

STRTOD(3C)

НАЗВАНИЕ
strtod, atof - преобразование цепочки символов в вещественное число двойной точности

СИНТАКСИС

	double strtod (str, ptr)
	char *str, **ptr;
	
	double atof (str)
	char *str;

ОПИСАНИЕ
Результатом функции strtod является вещественное число двойной точности, заданное цепочкой символов, на которую указывает аргумент str. Цепочка просматривается до первого нераспознаваемого символа.

Функция strtod распознает: последовательность пробельных символов [см. макрос isspace в ctype(3C)], знак числа, цепочку цифр, содержащую необязательную точку, и порядок, состоящий из символа e или E, необязательного знака порядка или пробела, и целого числа. Часть перечисленных компонентов может отсутствовать.

Если аргумент ptr не равен (char **) NULL, то в слове, на которое он ссылается, возвращается указатель на символ, вызвавший завершение просмотра. Если число сформировать не удается, то *ptr устанавливается равным str, и в качестве результата возвращается ноль.

Atof (str) эквивалентно strtod (str, (char **) NULL).

СМ. ТАКЖЕ
ctype(3C), scanf(3S), strtol(3C).

ДИАГНОСТИКА
Если преобразованное число переполняет разрядную сетку, то возвращается, в зависимости от знака числа, значение +HUGE или -HUGE [см. intro(3)], а переменной errno присваивается значение ERANGE. В случае исчезновения порядка возвращается ноль и errno присваивается значение ERANGE.