char in int umwandeln
-
Hallo!
Vermutlich ein Thema, dass schon oft durchgekaut wurde - habs aber nicht finden können:
Ich möchte aus einer Textdatei eine Zeile auslesen, die nur einen int-Wert enthält. Mit diesem Wert als int möchte ich dann weiterarbeiten. Mein Ansatz
FILE *c; c = fopen("datei1.txt","r"); char cd[3]; char *a = fgets(cd ,3,c); int z; sscanf(a, "%i", &z); //klappt nicht!
scheitert leider. Ist a == "3", dann ist z == " " (oder "").
HILFE!
-
Erstens: Cross-Postings sind nicht sehr beliebt
Zweitens: %g liest (immer noch) double-Variablen ein.
Drittens: Eine int-Variable, die mit " " gefüllt ist, wie soll das denn gehen?
-
probier doch mal 'fscanf (c, "%d", &z);'
-
net schrieb:
probier doch mal 'fscanf (c, "%d", &z);'
Nee, leider das gleiche Problem...
-
Mal eine Zwischenfrage: Wie überprüfst du, ob in z hinterher der richtige Wert drinsteht? (eine int-Variable sollte eigentlich keine Text-Fragmente enthalten)
PS: Und das "klappt nicht" ist etwas ungenau - gibt es Fehler? Wenn ja welche?
-
Erstmal danke für alle Hilfen.
Es funktioniert *wieder* - eigentlich die ganze Zeit - hab die falsche Ausgabe gehabt *schäm*
-
wunderbar, ein geloester fall!