Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

atol - Zeichenkette in ganze Zahl umwandeln (long)

&pagelevel(4)&pagelevel

Definition

#include <stdlib.h>

long int atol(const char *s);

atol wandelt eine Zeichenkette, auf die s zeigt, in eine ganze Zahl vom Typ long 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 atol(str) unterscheidet sich von strtol(str,(char**)NULL,10) nur durch die Fehlerbehandlung.

Returnwert

Ganzzahliger Wert vom Typ long int



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.


LONG_MAX bzw. LONG_MIN



bei Überlauf, abhängig vom Vorzeichen.

Hinweise

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

atol erkennt auch Zeichenketten, die mit Ziffern beginnen, dann aber mit beliebigen Zeichen enden. atol 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("long integer : %ld\n", atol(argv[1]));
   return 0;
}

Siehe auch

atof, atoi, atoll, strtod, strtol, strtoll, strtoul, strtoull