【发布时间】:2011-04-21 14:10:47
【问题描述】:
在我必须按照 C89 标准执行的项目中,我必须检查文件是否存在。 我该怎么做?
我想用
FILE *file;
if ((file = fopen(fname, "r")) == NULL)
{
printf("file doesn't exists");
}
return 0;
但我认为可能存在更多情况,然后文件不存在会执行 fopen == NULL。
我该怎么做?我更喜欢不使用包含而不是。
【问题讨论】:
-
如果
fopen()失败(即返回0),您不必(不能!)关闭文件句柄。如果成功,您必须这样做。 -
我认为 C89 标准中没有更好的方法。如果您允许 POSIX 或其他标准,请参阅stackoverflow.com/questions/230062/…