我需要從文件中讀取三個變量的值,然後用它們來執行計算。 這些值以特定格式列出。例如,這些是一個這樣的文件中的內容:從文件中讀取值 - 有些是正確的,有些是不正確的
2 //number of items per variable
0 0 0 //values for center locations (stored as struct)
0 0 .5
10 //values for some variable v1 (type double)
5
-10 //values for some variable v2 (type double)
10
這是我的代碼對這些數值閱讀:
...
fscanf(file, "%d\n", &nItems);
for (unsigned int i = 0; i < nItems; i++)
{
float cx, cy, cz;
fscanf(file, "%f %f %f\n", &cx, &cy, &cz);
center[i].cx = cx;
center[i].cy = cy;
center[i].cz = cz;
}
for (unsigned int i = 0; i < nItems; i++)
{
fscanf(file, "%f\n", &v1[i]);
}
for (unsigned int i = 0; i < nItems; i++)
{
fscanf(file, "%f\n", &v2[i]);
}
我現在面臨的問題是,當我在讀這種方式輸出它們的值,nItems的值和中心位置是正確的,但其餘的都是不正確的。但是,這些值的符號和相對大小是正確的。例如,上面顯示的值列表,這些都是輸出值:
Correct Outputted values
2 2
0 0 0 0.000000 0.000000 0.000000
0 0 .5 0.000000 0.000000 0.500000
10 524288.000000
5 2048.000000
-10 -524288.000000
10 524288.000000
我不知道爲什麼在錯誤被讀取的最後兩個變量的值。我會很感激你的建議。
謝謝。
v1和v2的聲明是什麼?它們是%f的正確類型嗎? – 2011-02-14 04:12:18