【发布时间】:2009-03-16 14:47:06
【问题描述】:
我想快速检查一个文件是否可以打开。它应该用可移植的 C 语言编写,或者至少可以在 Win32 和 POSIX 系统上工作。 #ifdefs 是可以接受的。
我试图避免这种情况:
int openable(const char*filename) {
FILE *f = fopen(filename,"r");
if (!f)
return 0; /* openable */
fclose(f);
return 1; /* not openable */
}
据我所知,stat() 最简单的形式可用于检查文件是否存在,但不能用于检查它是否实际可打开。
【问题讨论】:
-
你的代码或多或少是 ANSI 的方式,这没有错。