1. 程式人生 > >C/C++中判斷檔案或資料夾是否存在

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:

引數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;

}