====== atol() ====== atol ist definiert in der ''[[start|stdlib]]'', die in C über ''stdlib.h'', bzw. in C++ über ''cstdlib'' eingebunden wird. ===== Funktion ===== atol konvertiert einen ASCII-String in eine (vorzeichenbehaftete) breite Integerzahl (ASCII to long 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 long int atol( char const * str ); **str**: der zu konvertierende String \\ \\ **Return value**: die konvertierte Zahl als vorzeichenbehafteter, breiter 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 [[LONG_MAX]] bzw. [[LONG_MIN]] zurückgegeben. Die Umkehrfunktion, also einen ''long int''-Wert in einen ASCII-String zu konvertierten, ist über [[c:lib:stdio:sprintf()]] möglich. ===== Beispiel ===== #include #include int main( void ) { char const * str = "-1234"; long int value; value = atol( str ); printf( "Wert des Strings \"%s\": %d\n", str, value ); return EXIT_SUCCESS; } **Ausgabe** Wert des Strings "-1234": -1234 ===== siehe auch ===== [[start|strlib]]: [[atof()]], [[atoi()]], [[strtod()]], [[strtol()]], [[strtoul()]] \\ [[c:lib:stdio::start|stdio]]: [[c:lib:stdio:sprintf()]]