可以用access函数来判断。
int access(const char *pathname, int mode);
下面是对参数mode的说明。一般来说,判断文件或文件夹是否存在,取 mode=F_OK 就可以了。
值 | mode | 说明 |
---|---|---|
0 | F_OK | 只判断是否存在 |
2 | R_OK | 判断读取权限 |
4 | W_OK | 判断写入权限 |
6 | X_OK | 判断执行权限(或者说是读写权限) |
access函数返回0表示成功,否则失败。
示例:
test.cpp
#include <unistd.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
if(access(argv[1], F_OK) != 0)
{
cout << argv[1] << " does not exist!" << endl;
}
return 0;
}
编译:
g++ test.cpp -o test
运行:
./test /some/folder
结果:
/some/folder does not exist!