static char filename[128] = "trace.txt";
g_file = fopen(filename, "w");
if(NULL == g_file)
{
printf("Cannot open file %s.error %s\n",filename,strerror(errno));
exit(1);
}
我試圖打開一個名爲trace.txt在寫模式下的空文本文件(在我的工作目錄。) 該方案是創建一個空文件trace.txt在我的目錄。但檢查(NULL == g_file) 返回true,它返回錯誤代碼24(太多打開的文件。)。任何想法爲什麼這是。這是我打開的第一個文件我的程序。FOPEN在C(Linux)的返回「打開的文件太多」
令人驚訝的是,代碼是通過指定的名稱在我的工作目錄中創建一個空文件。但是由於某種原因,對空文件指針的檢查是成功的。 :(
嘗試在'strace'下運行你的程序。 –
也許你達到了一些限制或配額。另見http://stackoverflow.com/a/10908462/841108 –