gpt4 book ai didi

c - 如果文件指针为空,是否必须使用 fclose()? (C)

转载 作者:太空狗 更新时间:2023-10-29 17:06:37 26 4
gpt4 key购买 nike

当我用 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;
}

如果指针为NULL,是否需要使用fclose

最佳答案

fNULL 时,不仅没有需要使用 fclose(),而且您应该实际上,当 fNULL 时,不会调用 fclose()

  1. 如果 fNULL,则文件从未打开过,因此不需要任何关闭。

  2. 即使文件不知何故需要关闭,解决方案也不可能涉及将 NULL 传递给 fclose(),因为 NULL 参数绝对不包含 fclose() 可以用来确定要关闭哪个文件的信息。

  3. 我不确定 fclose() 是否包含用于检测和忽略传递给它的错误 NULL 参数的额外代码,但即使包含,它最好不要诱惑你的命运。

关于c - 如果文件指针为空,是否必须使用 fclose()? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32674141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com