atoi, atol, atoll
|
Definiert in Header
<stdlib.h>
|
||
|
int
atoi
(
const
char
*
str
)
;
|
(1) | |
|
long
atol
(
const
char
*
str
)
;
|
(2) | |
|
long
long
atoll
(
const
char
*
str
)
;
|
(3) | (seit C99) |
Interpretiert einen ganzzahligen Wert in der Byte-Zeichenkette, auf die str zeigt. Die implizite Basis ist immer 10 .
Verwirft alle Leerzeichen, bis das erste Nicht-Leerzeichen gefunden wird, nimmt dann so viele Zeichen wie möglich, um eine gültige Ganzzahldarstellung zu bilden, und wandelt sie in einen ganzzahligen Wert um. Der gültige ganzzahlige Wert besteht aus den folgenden Teilen:
- (optional) Plus- oder Minuszeichen
- numerische Ziffern
Wenn der Wert des Ergebnisses nicht dargestellt werden kann, d.h. der konvertierte Wert außerhalb des Bereichs des entsprechenden Rückgabetyps liegt, ist das Verhalten undefiniert.
Inhaltsverzeichnis |
Parameter
| str | - | Zeiger auf die nullterminierte Bytezeichenkette, die interpretiert werden soll |
Rückgabewert
Integer-Wert entsprechend dem Inhalt von str bei Erfolg.
Falls keine Konvertierung durchgeführt werden kann, 0 wird zurückgegeben.
Hinweise
Der Name steht für „ASCII zu Ganzzahl“.
Beispiel
#include <stdio.h> #include <stdlib.h> int main(void) { printf("%i\n", atoi(" -123junk")); printf("%i\n", atoi(" +321dust")); printf("%i\n", atoi("0")); printf("%i\n", atoi("0042")); // behandelt als Dezimalzahl mit führenden Nullen printf("%i\n", atoi("0x2A")); // nur die führende Null wird konvertiert, "x2A" wird verworfen printf("%i\n", atoi("junk")); // keine Konvertierung kann durchgeführt werden printf("%i\n", atoi("2147483648")); // UB: außerhalb des Wertebereichs von int }
Mögliche Ausgabe:
-123 321 0 42 0 0 -2147483648
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.22.1.2 Die atoi-, atol- und atoll-Funktionen (S: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.22.1.2 Die atoi-, atol- und atoll-Funktionen (S: 249)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.22.1.2 Die atoi-, atol- und atoll-Funktionen (S: 341)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.20.1.2 Die atoi-, atol- und atoll-Funktionen (S: 307)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 4.10.1.2 Die atoi-Funktion
-
- 4.10.1.3 Die atol-Funktion
Siehe auch
|
(C99)
|
wandelt eine Byte-Zeichenkette in einen ganzzahligen Wert um
(Funktion) |
|
(C99)
|
wandelt eine Byte-Zeichenkette in einen vorzeichenlosen ganzzahligen Wert um
(Funktion) |
|
(C95)
(C99)
|
wandelt eine Breitzeichen-Zeichenkette in einen ganzzahligen Wert um
(Funktion) |
|
(C95)
(C99)
|
wandelt eine Breitzeichen-Zeichenkette in einen vorzeichenlosen ganzzahligen Wert um
(Funktion) |
|
C++-Dokumentation
für
atoi
,
atol
,
atoll
|
|