通過輸入重定向(如下面的文件)給出一個文件,如何將值存儲在數組中以便我可以對它們執行計算? (也頂線將只是簡單地被重印的輸出,所以這個問題主要涉及到小數)輸入重定向C
輸入例:
157932 09 01 2013
0.00 0.00 0.00
0.36 0.27 0.23
0.18 0.16 0.26
0.27 0.00 0.34
0.24 0.00 0.31
0.16 0.33 0.36
0.29 0.36 0.00
0.21 0.36 0.00
通過輸入重定向(如下面的文件)給出一個文件,如何將值存儲在數組中以便我可以對它們執行計算? (也頂線將只是簡單地被重印的輸出,所以這個問題主要涉及到小數)輸入重定向C
輸入例:
157932 09 01 2013
0.00 0.00 0.00
0.36 0.27 0.23
0.18 0.16 0.26
0.27 0.00 0.34
0.24 0.00 0.31
0.16 0.33 0.36
0.29 0.36 0.00
0.21 0.36 0.00
使用
scanf("%lf,%lf,%lf", &A[i][0], &A[i][1], &A[i][2])
,每行
編輯:誤讀問題,思想文件被作爲參數傳遞給程序,沒有被重定向。哎呦!無視這篇文章。
基於文件的輸入是使用文件指針在C中處理的。
FILE* fp; // declare file pointer named fp
fp = fopen("/*name of file/*", "r");
第一個參數是該文件的名稱(接入使用的argv/argc個),第二個是指定你計劃如何與文件進行交互的字符串。在這種情況下,「r」指定您想要從中讀取。其他包括「w」,寫,「a」,追加等等。
fscanf(fp, "%d %d %d", var1, var2, var3);
文件指針使用稍微修改的scant和printf函數來讀取/寫入它們。它們實際上是相同的,唯一的區別是函數的名稱以f開頭,第一個參數是指向所討論文件的文件指針。上面的示例將從指向fp三個整數的文件讀入,並將它們存儲在var1,var2和var3中。
fclose(fp);
務必在完成寫入後關閉文件! 「fclose」關閉與文件指針fp關聯的文件。如果你願意,fp可以被重用。
哎呦,粗心的錯誤。有一段時間沒有在C中處理文件,謝謝! ^^ –
分配/重新分配(如果大小比預期的大)內存,解析輸入從讀取返回或對輸入執行scanf並最終將數據存儲在數組中? – LostBoy