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.