Definition | #include <stdlib.h> long int strtol(const char *s, char **endptr, int base); | |||||||
Beschreibung |
Für tab sind alle Zwischenraumzeichen zulässig (siehe Definition bei Für digit sind je nach der Basis (siehe base) die Ziffern 0 bis 9 und die Buchstabena (oder A) bis z (oder Z) zulässig.
Zusätzlich erhält man von Wenn überhaupt keine Umwandlung möglich ist, wird *endptr auf die Anfangsadresse der Zeichenkette s gesetzt. Ein drittes Argument base bestimmt die Basis (z.B. Dezimal-, Oktal- oder Sedezimal-Basis) für die Umwandlung. base ist eine ganze Zahl von 0 bis 36. Von Basis 11 bis 36 werden die Buchstaben a (oder A) bis z (oder Z) in der umzuwandelnden Zeichenkette als Ziffern angenommen, und zwar mit den entsprechenden Werten 10 (a/A) bis 35 (z/Z). Falls base gleich 0 ist, wird die Basis folgendermaßen aus dem Aufbau der Zeichenkette s bestimmt:
Falls mit Parameter base = 16 gerechnet wird, werden die Zeichen 0X bzw. 0x nach einem evtl. Vorzeichen in der Zeichenkette s ignoriert. | |||||||
Returnwert | Ganzzahliger Wert vom Typ | |||||||
| für Zeichenketten, die eine wie oben beschriebene Struktur haben und einen Zahlenwert darstellen. | |||||||
| 0 | für Zeichenketten, die nicht der oben beschriebenen Syntax entsprechen | ||||||
|
| |||||||
| bei Überlauf, abhängig vom Vorzeichen. | |||||||
Fehler |
| |||||||
|
| Der Returnwert verursacht einen Überlauf. | ||||||
|
| Der Wert von base wird nicht unterstützt. | ||||||
Hinweis | Ist endptr ein Nullzeiger und base gleich 10, wird
| |||||||
Siehe auch |
|