0
我寫了這段代碼,它似乎有一個函數fseek()的問題。因爲它會影響文本文件的閱讀。它使函數fscanf()從文件和錯誤的數據中讀取類似垃圾的東西。我的文件只包含浮點數。找不到功能錯誤fseek()
FILE *fptr;
if (!(fptr = fopen("saving.txt", "r"))){
printf("File could not be opened to retrieve your data from it.\n");
}
else {
fseek(fptr, 0, SEEK_END);
unsigned long len = (unsigned long)ftell(fptr);
if (len > 0) { //check if the file is not empty.
while (!feof(fptr)){
fscanf(fptr,"%f\n", &p.burst_time);
//printf("time = %f\n",p.burst_time);
AddProcess(&l,p.burst_time);
}
}
fclose(fptr);
}
提示:這部分代碼知道文件是否爲空。如果沒有讀取它。我也使用函數倒帶(fptr);之前的循環,但沒有區別。提前感謝。
可能的重複[爲什麼是「while(!feof(file))」總是出錯?](http://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong) – Barmar
您需要測試'fscanf()'的返回值以查看它是否讀取任何內容。 – Barmar
爲什麼你希望能夠讀取任何東西,如果你第一次尋求文件的結尾?這裏什麼都沒有! – Barmar