Hallo,
wie angedroht kommt auch schon mein nächstes Thema

Dieses mal versuche ich aus einer Textdatei Werte einzulesen.
Das einlesen mache ich mittels:
C:
int a;
double b, c, d;
// puffer = Zeile aus Textdatei
sscanf(puffer,"%i,%lf,%lf,%lf\n",&a, &b, &c, &d);
puffer ist dabei ein char Array und beinhaltet jeweils eine Zeile aus einer Textdatei.
Eine Zeile der Textdatei hat das Format:
Code:
1,2.456,44.5558.16,55544
Das Problem daran ist nun, dass aus irgendeinem Grund bei mir das "," als Trennzeichen einer Fließkommazahl genommen wird und nicht wie üblich der ".".
Da die Textdateien aber vorgegeben sind muss ich den "." als Trennzeichen einer Fließkommazahlen behandeln. Ich verstehe auch überhaupt nicht wieso (wie ja doch normal) der Punkt nicht erkannt wird

Ändere ich die Textdatei in
Code:
1,2,456,44,5558,16,55544
dann funktioniert alles und ich bekomme a=1 b= 2.456 c=44.5558 und d=16.55544. Aber wie gesagt: Format der Textdateien ist gegeben und ich kenne es auch von anderen Sprachen (Java,...) nur so das "." als Trennziffer erkannt werden. Laut API soll das ja auch bei C so sein. Seltsam, nicht wahr
Hoffe ihr könnt mir wieder einmal helfen

Viele Grüße und noch einen schönen Rest-Sonntag,
WingMan
Zuletzt bearbeitet: