当我在C中打开文件时,当前正在执行以下操作:
int main()
{
FILE *f
f = fopen("employers.dat", "rb");
if(f == NULL)
{
PUTS("can not open the file:\"employers.dat\"");
fclose(f);
exit(-1);
}
return 0;
}
如果指针是
fclose
,是否有必要使用NULL
? 最佳答案
当fclose()
是f
时,使用NULL
不仅需要而不是,而且当fclose()
是f
时,您实际上应该而不是调用NULL
。
f
是NULL
,则该文件从未以开头打开,因此不需要任何关闭。 NULL
传递给fclose()
,因为NULL
参数绝对不包含fclose()
可用来确定要关闭哪个文件的信息。 fclose()
是否包含用于检测和忽略传递给它的错误NULL
参数的额外代码,但是即使这样做,也最好不要诱惑您的命运。 关于c - 如果文件指针为空,是否必须使用fclose()? (C),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32674141/