#include
<cstdlib>
double strtod (const char *string, char **endptr)
Konvertiert string
in eine Fließkommazahl
und markiert mit |endptr| das Zeichen hinter der Zahl.
string | C-Zeichenkette |
endptr | Zeiger auf Zeiger hinter das Ende der Zahl |
Rückgabewert: Fließkommazahl. Bei Fehlern wird 0 geliefert.
Liegt die Zahl außerhalb des erlaubten Wertebereichs,
wird der dieser Zahl nächstgelegene Grenzwert geliefert und
errno auf ERANGE
gesetzt.
#include <cstdlib> #include <iostream> int main() { double d; const char *s = " 123.4567abcdefgh"; std::cout << s << '\n'; char *ende; d = std::strtod(s, &ende); std::cout.width(1+ (ende-s)); std::cout << "^" << " bis hier gelesene Zahl: " << d << '\n'; }