nobody0
22-09-2002, 00:25
Gerade ist mir aufgefallen, dass beim Einscanen eines double-Wertes durch den für scanf nötigen cast auf float (ansi-scanf kennt kein double) der eingescante Wert auf 0 gesetzt wird:
ohne cast:
sscanf(line,"%e",&tmp_float) liefert den korrekten Wert von 1.070
mit:
sscanf(line,"%e",&((float)tmp_double)) liefert den falschen Wert von 0.000
Wieso verschwinden denn die eingescannten Werte durch den cast? :confused:
Und wie kann ich double-Werte einscanen? :confused:
ohne cast:
sscanf(line,"%e",&tmp_float) liefert den korrekten Wert von 1.070
mit:
sscanf(line,"%e",&((float)tmp_double)) liefert den falschen Wert von 0.000
Wieso verschwinden denn die eingescannten Werte durch den cast? :confused:
Und wie kann ich double-Werte einscanen? :confused: