Inhaltsverzeichnis

strtol()

#include <cstdlib>

long int strtol (const char *string, char **endptr, int basis) 

Konvertiert string in eine lange Ganzzahl zur basis=2..36 und markiert mit endptr das Zeichen hinter der Zahl.

Parameter

string C-Zeichenkette
endptr Zeiger auf Zeiger hinter das Ende der Zahl
basis Ganzzahlbasis

Ergebnis

Rückgabewert: Ganzzahl. Bei Fehlern wird 0 geliefert. Liegt die Zahl außerhalb des erlaubten Wertebereichs, wird der dieser Zahl nächstgelegene Grenzwert (LONG_MIN bzw. LONG_MAX) geliefert und errno auf ERANGE gesetzt.

Siehe auch

stol(), strtod(), strtoul().

Beispiel

strtol.cpp
#include <cstdlib>
#include <iostream>
 
int main()
{
  long i;
  const char *s = "   123.4567abcdefgh";
  cout << s << '\n';
 
  char *ende;
  i = std::strtol(s, &ende, 10);
 
  std::cout.width(1+ (ende-s));
  std::cout << "^" << " bis hier gelesene Zahl: " << i << '\n';
}