0
我的朋友和我工作的一個項目,我們需要在C讀取文件用C
從文件中讀取輸入文件看起來是這樣的:
15 25 200
3 10
17.99 22.99 109.99
100 2 4
5.99 99.99 20.00 49.99
10 10 10 10 10 10 10 10 10 10
3.99 5.99 7.99 8.00 5.00 5.00 5.00 6.00 7.00 9.99
5
我需要逐行讀取文件,並將每個值設置爲不同的變量。例如,第一行的第一個值必須設置爲變量preSalePrices,第二個值doorPrices和第三個preSales。我需要幫助弄清楚如何在每行上指定數值。例如,如何讓程序在第一行中獲得三個值,但在第二行中只有兩個值?然後是第五行的四個值,依此類推。
這裏是我的代碼,但它只是崩潰:
int main() {
float preSalePrices, doorPrices;
int preSales;
FILE *fp;
fp = ("C://Users//Jake//Desktop//Charity Ball//auction01.txt", "r");
while(fscanf(fp, "%f %f %i", &preSalePrices, &doorPrices, &preSales) != EOF) {
printf("%f, %f, %i", preSalePrices, doorPrices, preSales);
}
}
我看了所有在互聯網上,我無法找到與此相關的具體事情。
不會像這樣將整行掃描到變量中 - 一次只讀取每行一個變量。 – cegfault
讀取一行,使用空格作爲分隔符分割它。請參閱http://www.cplusplus.com/reference/cstring/strtok/ – peacemaker
由於您的代碼缺少對fopen()的調用,因此您應該收到編譯警告。你也應該檢查'fopen()'的返回值,雖然這個測試對於函數調用沒有幫助 - 'fp'得到一個非空指針''r「'。 –