Frage zu atoi
-
Kann man davon ausgehen, dass atoi, wenn ihm eine zeichenkette, die nicht mit zaheln beginnt oder sogar einen leeren string übergibt immer 0 zurück gibt? Ist das standardisiert oder nur auf den meisten Systemen so?
Ich konnte leider dazu nichts im manual finden.
Beispiele:
atoi(""); atoi("asdf");
Ich möchte eben wissen ob ich sicher sein kann, dass atoi in diesem fall 0 zurückliefert.
mfg tobZel
-
atoi liefert den interpretierten Wert einer Ziffernfolge als int zurück, stoppt bei Stringende oder Nichtziffer. Ein Überlauf/Unterlauf wird nicht erkannt, führende Whitespaces werden übergangen, führende +/- wird erkannt.
Wenn keine Ziffer erkannt wurde, wird 0 geliefert.atoi("") -> 0 atoi("0") -> 0 atoi(" 0") -> 0 atoi("a") -> 0 atoi(" a") -> 0 atoi("123") -> 123 atoi(" 123") -> 123 atoi("123h") -> 123 atoi("99999999999999999999999999999999999999999999999999999999999999") -> ??? (INT_MIN/INT_MAX Bereich wird nicht geprüft)