我有這樣的代碼非常簡單:C - 爲什麼fopen不起作用?
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
FILE * file_ptr = NULL;
file_ptr = fopen ("file.txt", "r");
if (file_ptr == NULL)
{
puts ("Error!");
return EXIT_FAILURE;
}
else
{
puts ("O.k.!");
}
return EXIT_SUCCESS;
}
輸出:
Error!
FOPEN爲什麼不起作用?該文件未受保護,未在其他位置打開,並與該程序的* .exe存儲在相同的文件夾中。我也試着給它指定文件的完整路徑和一個存儲文件名的數組。每次它發出「錯誤!」。
這是怎麼回事?
我正在使用Eclipse Neon.2版本(4.6.2)與Windows 10 64bit上的最新cygwin gcc編譯器。
謝謝你的幫助!
爲什麼不檢查'errno'是因爲*原因*'fopen()'失敗? – EOF
您也可以嘗試'fopen(「xxyyzzqq.txt」,「w」)',然後搜索硬盤以查看文件的創建位置。 – user3386109
@ user3386109:好主意!事實證明,我的新Eclipse安裝需要src-directory中的文件,而不是在debug目錄(* exe文件所在的位置),我的舊安裝需要它。非常感謝!這花了我整整一天...我是一個初學者。 –