花車

2011-03-02 78 views
8

我從其中包含一個文本文件中讀取的fscanf輸入:花車

Mary 55334422 24.90 56.6 45.68 

和正在讀它:

....char name[20]; int num; double worked; double rate; double total;.... 

fscanf(fp, "%s %d %f %f %f\n", name, &num, &worked, &rate, &total); 

我得到的名稱和整數罰款,但浮點數出來的東西像-9522999990000000000000000000.00

我在這裏做錯了什麼?

回答

12

您需要使用format for a double%lf,而不是浮動的%f ...或更改爲浮動而不是雙打。

+0

非常感謝您的幫助 – rach 2011-03-02 00:50:49

1

更改雙打花車,或更改格式%LF

4

嘗試lf而不是f解析成double變量:

fscanf(fp, "%s %d %lf %lf %lf\n", name, &num, &worked, &rate, &total);