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