Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
c:lib:stdlib:atol [2009/10/26 23:09] xin angelegt |
c:lib:stdlib:atol [2024/09/25 11:04] (aktuell) xin [Funktion] Rechtschreibfehler atoi -> atol |
||
|---|---|---|---|
| Zeile 6: | Zeile 6: | ||
| ===== Funktion ===== | ===== Funktion ===== | ||
| - | atol konvertiert einen ASCII-String in eine (vorzeichenbehaftete) breite Integerzahl (ASCII to long integer - atoi). | + | atol konvertiert einen ASCII-String in eine (vorzeichenbehaftete) breite Integerzahl (ASCII to long integer - atol). |
| Zunächst werden sämtliche Whitespaces (Leerzeichen, Tabs) übersprungen, bis die ersten Ziffern gefunden werden. Es darf ein + bzw. - der Zahl vorangestellt sein. | 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önne, so wird die Konvertierung abgebrochen und die bisher interpretierte Zahl zurückgegeben. | + | 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". | Gültige Strings wären z.B. " 123", "+1232", "-42". | ||
| Zeile 22: | Zeile 22: | ||
| **str**: der zu konvertierende String \\ | **str**: der zu konvertierende String \\ | ||
| \\ | \\ | ||
| - | **Return value**: die konvertiete Zahl als vorzeichenbehafteter, breiter Integerwert | + | **Return value**: die konvertierte Zahl als vorzeichenbehafteter, breiter Integerwert |
| ===== Bemerkungen ===== | ===== Bemerkungen ===== | ||
| Zeile 29: | Zeile 29: | ||
| Ist die zu konvertierende Zahl so groß, dass sie nicht dargestellt werden kann, so wird [[LONG_MAX]] bzw. [[LONG_MIN]] 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 konvertiertung ist über [[c:lib:string:sprintf()]] möglich. | + | Die Umkehrfunktion, also einen ''long int''-Wert in einen ASCII-String zu konvertierten, ist über [[c:lib:stdio:sprintf()]] möglich. |
| ===== Beispiel ===== | ===== Beispiel ===== | ||
| Zeile 35: | Zeile 35: | ||
| <code cpp> | <code cpp> | ||
| #include <stdlib.h> | #include <stdlib.h> | ||
| + | #include <stdio.h> | ||
| int main( void ) | int main( void ) | ||
| { | { | ||
| - | char const * str = "1234"; | + | char const * str = "-1234"; |
| long int value; | long int value; | ||
| value = atol( str ); | value = atol( str ); | ||
| - | printf( "Wert des Strings \"%s\": %d", str, value ); | + | printf( "Wert des Strings \"%s\": %d\n", str, value ); |
| return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
| } | } | ||
| </code> | </code> | ||
| + | **Ausgabe** | ||
| + | <code>Wert des Strings "-1234": -1234</code> | ||
| ===== siehe auch ===== | ===== siehe auch ===== | ||
| [[start|strlib]]: [[atof()]], [[atoi()]], [[strtod()]], [[strtol()]], [[strtoul()]] \\ | [[start|strlib]]: [[atof()]], [[atoi()]], [[strtod()]], [[strtol()]], [[strtoul()]] \\ | ||
| - | [[c:lib:string:string:start|string]]: [[c:lib:string:sprintf()]] | + | [[c:lib:stdio::start|stdio]]: [[c:lib:stdio:sprintf()]] |