1 文件存在
int access(const char *pathname, int mode);
mode取值:
F_OK 测试文件是否存在
R_OK 测试读权限
W_OK 测试写权限
X_OK 测试执行权
2 目录存在
opendir函数用来打开文件目录,成功返回指针,出错返回NULL
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <dirent.h>
#include <string.h>
bool IsFileExist(const char * file);
bool IsDirExist(const char * dir);
int main(){
std::cout << "hello,world!" << std::endl;
std::string file_path = "/usr/test/main.cpp";
if(IsFileExist(file_path.c_str())){
std::cout << file_path.c_str() << " exist" << std::endl;
}else{
std::cout << file_path.c_str() << " not exist" << std::endl;
}
std::string dir_path = "/usr/test";
if(IsDirExist(dir_path.c_str())){
std::cout << dir_path.c_str() << " exist" << std::endl;
}else{
std::cout << dir_path.c_str() << " not exist" << std::endl;
}
return 0;
}
bool IsFileExist(const char * file){
if(NULL == file){
return false;
}
if(0 != access(file, F_OK)){
return false;
}
return true;
}
bool IsDirExist(const char * dir){
if(NULL == dir){
return false;
}
if(NULL == opendir(dir)){
return false;
}
return true;
}