#include
<cstdlib>
unsigned long int strtoul (const char *string, char **endptr, int basis)
Konvertiert string
in eine vorzeichenlose lange Ganzzahl zur basis
=2..36
und markiert mit endptr
das Zeichen hinter der Zahl.
string | C-Zeichenkette |
endptr | Zeiger auf Zeiger hinter das Ende der Zahl |
basis | Ganzzahlbasis |
Rückgabewert: vorzeichenlose Ganzzahl. Bei Fehlern wird 0 geliefert.
Liegt die Zahl außerhalb des erlaubten Wertebereichs,
wird ULONG_MAX
geliefert und
errno auf ERANGE
gesetzt.
#include <cstdlib> #include <iostream> int main() { unsigned long i; const char *s = " 123.4567abcdefgh"; std::cout << s << '\n'; char *ende; i = std::strtoul(s, &ende, 10); std::cout.width(1+ (ende-s)); std::cout << "^" << " bis hier gelesene Zahl: " << i << '\n'; }