C/C++中判斷檔案或資料夾是否存在
方法1. access函式
適用範圍:所有C/C++專案
標頭檔案: #include < io.h>
函式原型: intaccess(const char *filename, int mode);
函式說明:判斷是否具有存取檔案的許可權
函式引數說明:
filename:可以填寫資料夾路徑或者檔案路徑
mode:
F_OK (或0): 判斷該檔案/資料夾是否存在;
R_OK (或2): 判斷該檔案
W_OK (或4): 判斷該檔案/資料夾是否有寫入許可權;
X_OK (或6): 判斷該檔案/資料夾是否有執行許可權;
返回值:
若存在或者具有許可權,返回值為0;不存在或者無許可權,返回值為-1,並把錯誤程式碼存在errno 中(errno.h中定義)。
錯誤程式碼:
EACCESS:引數pathname所指定的檔案不符合所要求測試的許可權.
EROFS: 欲測試寫入許可權的檔案存在於只讀檔案系統內.
EFAULT:
EINVAL:引數mode 不正確.
ENAMETOOLONG:引數pathname太長.
ENOTDIR:引數pathname為一目錄.
ENOMEM:核心記憶體不足
ELOOP: 引數pathname 有過多符號連線問題.
EIO I/O:存取錯誤.
#include <stdio.h> #include <io.h> int main(int argc, const char** argv) { char* filePath = "C://Users//Public//Downloads" ; if (_access(filePath,0) == -1) { printf("The file/dir doesn't exisit"); } else { printf("Exisit "); } return 0; } |