[英]Reading large amounts of number from a text file in C
我正在嘗試從文本文件中讀取大量數字數據(雙精度)。 文本文件有10列,每列列出了242個數字。 列由空格分隔。 我正在嘗試專門采用第一列和第七列並將它們放入數組中。 目前,我正在嘗試:
int i;
double a;
double b;
double junk;
double array[2][242]
FILE *fp;
fp = fopen("data_table.dat", "w");
for (i = 0; i <= 242; i++);
{
fscanf(fp, "%f %f %f %f %f %f %f %f %f %f\n", a, junk, junk, junk, junk, junk, b,
junk, junk, junk);
array[0][i] = a;
array[1][i] = b;
}
fclose(fp);
我當時的想法是打開文本文件,讀取雙打的一行,然后將第一列和第七列保存到數組中,其余則為垃圾。 但是,當我隨后檢查數組時,數組中的每個條目都是6.943e-310,它甚至與數據表中的任何數據都不接近。
可能需要注意的另一件事是,運行此命令后,整個文本文件為空。 我可以再次用值填充它,但是在運行代碼后,它再次為空。 此外,每列中的第一項也是該列中數據的字符串(例如,第一列以nm長度開始)。
您在fp = fopen("data_table.dat", "w");
使用“ w”選項打開了要寫入的文件fp = fopen("data_table.dat", "w");
您想用“ r”打開它進行讀取,否則將截斷該文件,這就是為什么之后看不到它的原因。
&junk
, &a
&b
)傳遞給fscanf()
而不是值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.