Daten einlesen; float-double
-
Hallo,
ich lese wie folgt aus einer Datei ein:// Parameter einlesen graphics.txt
datei = fopen( "graphics.txt", "r" );
fscanf(datei,"amp: %f\nincx: %f\nincy: %f",&,&incx,&incy,);
fclose(datei);graphics.txt sieht vorher entsprechend so aus:
amp: 13
incx: 20
incy: 20Wenn ich jedoch z.B. ein Zeichen verändere:
ämp: 13
incx: 20
incy: 20ist das ganze fscanf falsch. Wie kann ich das abfangen?
Frage b)
ist es möglich variablen als double einzulesen?
viele Dank
M.
-
a) einfach auch den fscanf Formatierungsstring anpassen. Vielleicht musst du auch noch mit der Kodierung aufpassen (wchar_t)
b) ja. Wie das geht, steht in deiner Lieblings C Referenz
-
danke, aber wie passe ich den Formatierungsstring an?
bin echt anfänger*g*
m.
-
also ich hatte das irgendwie anders gemeint,
also wenn der user etwas in der Datei ändert (eben z.b. amp) soll das Programm eine Fehlermeldung ausgeben, anstatt das Programm ewig weiterläuft. Scanf soll gar nicht geändert werden.
Habt ihr Tipps?
danke
-
Nun, die einfachste Moeglichkeit waere die Woerter wegzulassen!
Ansonsten koenntest Du die Datei string fuer string einlesen und auf Richigkeit ueberpruefen.