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(開いているファイルが多すぎます)が返されます。これがなぜであるかはわかりません。これは、プログラムで開いている最初のファイルです。
驚いたことに、コードは指定された名前で作業ディレクトリに空のファイルを作成していますが、何らかの理由でnullファイルポインタのチェックが成功しています。:(