有没有比简单地打开文件更好的方法
int存在(常量字符*fname)
{
文件*文件;
如果((file=fopen(fname,“r”))
{
fclose(文件);
返回1;
}
返回0;
}
查找unistd.h中的access()函数。您可以将函数替换为
if(访问(fname,F_OK)==0){
//文件存在
}否则{
//文件不存在
}
您还可以使用R\u OK、W\u OK和X\u OK代替F\u OK检查读取权限、写入权限和执行权限(分别)而不是存在,并且您可以将它们或其中任何一个一起检查(即使用R\u OK | W\u OK检查读取权限和写入权限)
更新:请注意,在Windows上,您不能使用W_OK可靠地测试写入权限,因为访问功能不考虑DACL访问(fname,W_OK)可能返回0(成功),因为该文件未设置只读属性,但您可能仍然没有写入该文件的权限