Wert verkehrt!!
-
Was gibt atoi den zurück wenn garkeine Zahl im String steht!
Also-->
Eingabe : -z b
atoi(argv[3]) === ???
-
Proier es aus, lies die Hilfe.
-
Mir fällt auch gerade auf das das ja auch nicht wirklich das wahre ist!
wenn man 12a eingibt wird 12 gespeichert obwohl das keine legale Zahl ist!Das a wird einfach weggeschnitten!
-
Man könnte sich auch strtol() anschauen, welches ich wunderbarerweise auch schon erwähnt habe.
-
Sry hab ich nicht gesehen!
Bring aber eh nix da strtol() genauso reagiert!!Eingabe --> 123abc
strtol(Eingabe) = 123Eingabe --> ABC123
strtol(Eingabe) = errorIch suche eine Funktion die bei (123abc) auch einen Fehler bekommt und auch wirklich nur einen String aus Integers umwandelt!!
Gibt es soetwas nicht??
-
Du musst halt auch den 2. Parameter auswerten. So wird das nix wenn du gerademal 5 Minuten probierst...
-
Den 2.ten Parameter???
Ich bin total neu in C, ich weiß noch nicht wirklich wie das alles Funktioniert!
Ich werd es mal Probieren aber vielleicht wärst du so gütig und könntest mir ein Beispiel geben??
-
-
Also wenn ich das richtig verstehe müsste das bei mir so aussehen!
strtol(argv[x+1],endp,10);
Also muss ich dann endp überprüfen ob es leer ist --> wenn ja waren in argv[x+1] nur integer Werte --> wenn nein waren halt ungültige Zeichen drin!
Hab ich das richtig verstanden???
-
Thes-One schrieb:
Hab ich das richtig verstanden???
warum probierst du's nicht einfach aus?
wenn dich das vorhandene 'strtol' überfordert, dann schreib dir doch eine eigene variante. das ist nicht schwer. hinweis: *wert = wert * 10 + string++ - '0'