double strtod(const char *start, char **end)
long double strtold(const char *start, char **end)
Функция strtodp конвертирует строковое представление числа, хранящееся в переменной start, в величину типа double и возвращает результат.
Функция strtod() работает следующим образом. Анализируется строка start и игнорируются все специальные символы (пробелы, символы табуляции и т.д.) в начале строки. Затем читаются символы, составляющие число. Процесс чтения останавливается, как только будет достигнут какой-то из символов, который не может входить в качестве части в число с плавающей запятой. Таким символом может служить пробел, знак пунктуации, отличный от точки, буква, отличная от «Е» и «е». Наконец, параметр end устанавливается так, чтобы он указывал на оставшуюся часть строки. Например, если функция strtod() вызвана с параметром 100.00 Pliers, то будет возвращена величина 100.00, а параметр end будет указывать на пробел перед словом «Pliers».
При возникновении ошибки преобразования функция strtod() возвращает либо HUGE_VAL в случае переполнения, либо —HUGE_VAL в случае потери значимости. Если никакое преобразование невозможно, то возвращается 0.
Функция strtold() является версией типа long double функции strtod().