Namespaces
Variants

atoi, atol, atoll

From cppreference.net
< c ‎ | string ‎ | byte
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

wandelt eine Byte-Zeichenkette in einen ganzzahligen Wert um
(Funktion)
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