請考慮下面的代碼片段。當fopen失敗時需要fclose嗎?
{
....
FILE *fptr = fopen("file_that_does_not_exist","r");
...
}
這裏,如果fopen失敗,我們還需要調用fclose()進行一些清理嗎?
請考慮下面的代碼片段。當fopen失敗時需要fclose嗎?
{
....
FILE *fptr = fopen("file_that_does_not_exist","r");
...
}
這裏,如果fopen失敗,我們還需要調用fclose()進行一些清理嗎?
其簡單的朋友,我的意思只是想象......你一定要關閉電腦,即使它不能啓動....:d
用同樣的方法你不需要 關閉一個你實際上從未打開過的文件 。
一些額外的提示:fclose僅用於釋放文件,以便它可以被其他應用程序或模塊使用,因爲它不是可共享的資源。 另外,fclose意味着您現在可以釋放您正在使用的指針,並可以將其用於任何其他文件。
不需要。你首先沒有打開任何東西,所以你不需要關閉它。
不,因爲fopen()返回0,這是一個無效的文件句柄。如果您嘗試執行此操作,fclose()甚至可能會崩潰。
不可以。關閉沒有打開的門。如果成功,fopen
返回指向打開文件的指針,並且僅將該值傳遞給fclose
纔有意義。