可以用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!

