Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

atoi - Zeichenkette in ganze Zahl umwandeln (int)

&pagelevel(4)&pagelevel

Definition

#include <stdlib.h>

int atoi(const char *s);

atoi wandelt eine Zeichenkette, auf die s zeigt, in eine ganze Zahl vom Typ int um. Die umzuwandelnde Zeichenkette kann wie folgt aufgebaut sein:

[{tab|'BLANK' }...][+|-]Ziffer...

Für tab sind alle Steuerzeichen für „Zwischenraum“ zulässig (siehe Definition bei isspace). 

Die Funktion atoi(str) unterscheidet sich von strtol(str,(char**)NULL,10) nur durch die Fehlerbehandlung.

Returnwert

Ganzzahliger Wert vom Typ integer



für Zeichenketten, die eine wie oben beschriebene Struktur haben und einen Zahlenwert darstellen, der im zulässigen Integerbereich liegt.


0     

für Zeichenketten, die nicht der oben beschriebenen Syntax entsprechen.


INT_MAX bzw. INT_MIN



bei Überlauf, abhängig vom Vorzeichen.

Hinweis

atoi() ist vollständig enthalten in strtol(). Die Funktion wird jedoch weiterhin angeboten, da sie in vielen existierenden Anwendungen eingesetzt ist.

atoi erkennt auch Zeichenketten, die mit Ziffern beginnen, dann aber mit beliebigen Zeichen enden. atoi schneidet den Ziffernteil ab, wandelt ihn gemäß obiger Beschreibung um und ignoriert den Rest. 

Beispiel

 Folgendes Programm wandelt eine beim Aufruf (Enter Options) übergebene Zeichenkette in den entsprechenden ganzzahligen Wert um.

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
               /* Zahlen werden als Zeichenkette!! übergeben.
                  Eine Umwandlung ist erforderlich,
                  falls der Zahlenwert benötigt wird. */
{
   printf("integer : %d\n", atoi(argv[1]));
   return 0;
}

Siehe auch

 atof, atol, strtod, strtol, strtoul