Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
c:lib:stdlib:atol [2009/10/26 23:12]
xin
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:​stdio:​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 =====