#include<iostream>
#include<sys/types.h>
#include<dirent.h>
#include<sys/stat.h>
#include<unistd.h>
using namespace std;
int main(void)
{
char buff[] = "/home/whc/test2/";
//1 opendir() and closedir
DIR *dir=NULL;
dir = opendir(buff);
if(NULL == dir)
cout<<"1:文件不存在"<<endl;
else
{
cout<<"1:文件存在"<<endl;
closedir(dir);
}
//2 access
if(access(buff,F_OK) == 0)
cout<<"2:文件存在"<<endl;
else
cout<<"2:文件不存在"<<endl;
//3 stat
struct stat st;
if(stat(buff,&st) == 0)
cout<<"3:文件存在"<<endl;
else
cout<<"3:文件不存在"<<endl;
return 0;
}
相比而言,第二种方法比较简单方便
转载自:http://blog.youkuaiyun.com/weihua1984/article/details/5480281
本文介绍使用C++中的三种方法来检查文件是否存在:通过opendir()和closedir()函数、access()函数以及stat()函数,并对每种方法的效果进行了展示。
1万+

被折叠的 条评论
为什么被折叠?



