[問題] fclose
遇到的問題: (題意請描述清楚)
fclose 後 在windows explorer中 無法刪除檔案
希望得到的正確結果:
正常來說可以被刪除
程式跑出來的錯誤結果:
無法刪除檔案(被OS lock住?)
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
MFC vs2005
有問題的code: (請善用置底文標色功能)
file *fp[5];
void savefp()
{
static first = true;
if(first) while(i++<5)fp[i] = fopen(filename[i]);//open 5 file successfully
first = false;
//file operations here...
if(last) while(i++<5) fclose(fp[i]);
}
main()
{
savefp();
//some operations
last = true;
savefp(); //second call
}
補充說明:
結果是
fp[4] (最後一個) 無法被刪除 其他都可以刪除
確定fclose(fp[4])回傳值為0
但就是不曉得為什麼不能刪 除非關掉該應用程式
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.160.242
推
11/25 23:26, , 1F
11/25 23:26, 1F
→
11/25 23:26, , 2F
11/25 23:26, 2F
謝謝提醒 已修正
這是psuedo code 確定 fopen fclose 都成功
因為有五個檔案被建立在資料夾中
file1.txt file2.txt file3.txt file4.txt file5.txt
也都有資料被寫入
唯獨file5在 second call後無法被刪除
※ 編輯: Anonymoux 來自: 123.204.160.242 (11/25 23:33)
→
11/25 23:38, , 3F
11/25 23:38, 3F
→
11/25 23:39, , 4F
11/25 23:39, 4F