atoi()

atoi ist definiert in der stdlib, die in C über stdlib.h, bzw. in C++ über cstdlib eingebunden wird.

Funktion

atoi konvertiert einen ASCII-String in eine (vorzeichenbehaftete) Integerzahl (ASCII to integer - atoi).

Zunächst werden sämtliche Whitespaces (Leerzeichen, Tabs) übersprungen, bis die ersten Ziffern gefunden werden. Es darf ein + bzw. - der Zahl vorangestellt sein.

Werden Zeichen gefunden, die nicht interpretiert werden können, so wird die Konvertierung abgebrochen und die bisher interpretierte Zahl zurückgegeben.

Gültige Strings wären z.B. „ 123“, „+1232“, „-42“.

Signatur

#include <stdlib.h>
int atoi( char const * str );

str: der zu konvertierende String

Return value: die konvertiete Zahl als vorzeichenbehafteter Integerwert

Bemerkungen

Konnte keine Zahl konvertiert werden, weil der String leer oder aus nicht interpretierbaren Zeichen bestand (z.B. „abc“), so wird 0.0 zurückgegeben. Ist die zu konvertierende Zahl so groß, dass sie nicht dargestellt werden kann, so wird INT_MAX bzw. INT_MIN zurückgegeben.

Die Umkehrfunktion, also einen int-Wert in einen ASCII-String zu konvertierten, ist über sprintf() möglich.

Beispiel

#include <stdlib.h>
#include <stdio.h>
 
int main( void )
{
  char const * str = "1234";
  int value;
 
  value = atoi( str );
 
  printf( "Wert des Strings \"%s\": %d\n", str, value );
 
  return EXIT_SUCCESS;
}

Ausgabe

Wert des Strings "1234": 1234

siehe auch