方法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:參數pathname指針超出可存取內存空間.
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; } |