C語言中判斷檔案是否存在的方法詳解

2021-07-26 02:38:17 字數 1339 閱讀 3118

本文和大家分享的主要是

c語言方法一:access

函式判斷資料夾或者檔案是否存在

函式原型: int access(const char *filename, int mode);

所屬標頭檔案:io.h

filename

:可以填寫資料夾路徑或者檔案路徑

mode

:0 (f_ok

) 只判斷是否存在 2 

(r_ok

) 判斷寫入許可權 4 

(w_ok

) 判斷讀取許可權 6 

(x_ok

) 判斷執行許可權

用於判斷資料夾是否存在的時候,mode 取0

,判斷檔案是否存在的時候,

mode

可以取0、2

、4、6

。 若存在或者具有許可權,返回值為

0;不存在或者無許可權,返回值為-1。

錯誤**

eaccess 

引數pathname 

所指定的檔案不符合所要求測試的許可權。

erofs 

欲測試寫入許可權的檔案存在於唯讀檔案系統內。

efault 

引數pathname

指標超出可訪問記憶體空間。

einval 

引數mode 

不正確。

enametoolong 

引數pathname

太長。

enotdir 

引數pathname

為一目錄。

enomem 

核心記憶體不足

eloop 

引數pathname

有過多符號連線問題。

eio i/o 

訪問錯誤。

作使用者認證方面的判斷要特別小心,例如在

access()

後再做open()

的空檔案可能會造成系統安全上的問題。

例項:#include

#include

int main(void)

方法二:fopen

函式判斷檔案是否存在

函式原型:file *fopen (char *filename, char *type);

filename

:檔案路徑

type

:開啟檔案的方式(有r、

w、r+、

w+、a、

rb、wb等等)

用於判斷檔案是否存在可以使用 r 

或者 rb ,因為使用 其它方式的話,可能會自動建立檔案。 返回值為

null

(打不開)和正數(能開啟)。

嵌入式linux

中文站

c語言中如何判斷檔案是否存在

c語言判斷資料夾或者檔案是否存在的方法 方法一 access函式判斷資料夾或者檔案是否存在 函式原型 int access const char filename,int mode 所屬標頭檔案 include filename 可以填寫資料夾路徑或者檔案路徑 mode 0 f ok 只判斷是否存在...

C語言判斷檔案是否存在

用函式access,標頭檔案是io.h,原型 int access const char filename,int amode amode引數為0時表示檢查檔案的存在性,如果檔案存在,返回0,不存在,返回 1。這個函式還可以檢查其它檔案屬性 06 檢查讀寫許可權 04 檢查讀許可權 02 檢查寫許可...

C語言判斷檔案是否存在

用函式access,標頭檔案是io.h,原型 int access const char filename,int amode amode引數為0時表示檢查檔案的存在性,如果檔案存在,返回0,不存在,返回 1。這個函式還可以檢查其它檔案屬性 06 檢查讀寫許可權 04 檢查讀許可權 02 檢查寫許可...