现在的位置: 首页 > 综合 > 正文

linux下判断路径是否存在的3种方法

2014年01月31日 ⁄ 综合 ⁄ 共 1091字 ⁄ 字号 评论关闭

#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.csdn.net/weihua1984/article/details/5480281

#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;
}

 

相比而言,第二种方法比较简单方便

抱歉!评论已关闭.