查詢目錄或檔案是否存在

2021-08-02 09:25:41 字數 1259 閱讀 7970

在專案中可能會遇見查詢某個路徑或者檔案是否存在的情況,如果不存在就新建。在看**的時候發現有人這樣實現:

dir  = opendir(g_logdir);

if ( dir == nullp )

else

對應檔案的話會這樣寫

dir  = fopen(g_logdir);

if ( dir == nullp )

else

目的很簡單,就是查詢目錄或者檔案是否存在,不存在就新建。這樣確實可行,但是很費解,做了那麼多事情就為了新建個路徑或者檔案,有是 open 又是 close的,要查詢有查詢的函式啊,何必呢!

int access(const char *filename, int mode);
#include
#include

#include

#include

void main()

else

}

這裡用access函式判斷路徑是否存在,不存在就建立,用到了mkdir函式,其引數有兩個,第乙個寫路徑字串,第二個寫建立的路徑的許可權,這裡不要寫成o_rdonly 、 o_wronly 、 o_rdwr 、 o_creat,也不要寫成775三位數,不然許可權會出錯!

#define o_accmode      0003

#define o_rdonly 00

#define o_wronly 01

#define o_rdwr 02

#define o_creat 0100 /* not fcntl */

#define o_excl 0200 /* not fcntl */

#define o_noctty 0400 /* not fcntl */

#define o_trunc 01000 /* not fcntl */

#define o_nonblock 04000

#define o_ndelay o_nonblock

#define o_sync 010000

#define o_fsync o_sync

#define o_async 020000

Shell判斷檔案或目錄是否存在

e filename 如果 filename存在,則為真 d filename 如果 filename為目錄,則為真 f filename 如果 filename為常規檔案,則為真 l filename 如果 filename為符號鏈結,則為真 r filename 如果 filename可讀,則為...

php 判斷檔案或目錄是否存在

判斷檔案或目錄是否存在有自帶的函式 file exists 檔案是否存在 file check.txt if file exists file else is dir 目錄是否存在 dir c datacheck if is dir dir else 判斷檔案或目錄是否存在有自帶的函式 file e...

shell判斷檔案目錄或檔案是否存在

e 判斷物件是否存在 d 判斷物件是否存在,並且為目錄 f 判斷物件是否存在,並且為常規檔案 l 判斷物件是否存在,並且為符號鏈結 h 判斷物件是否存在,並且為軟鏈結 s 判斷物件是否存在,並且長度不為0 r 判斷物件是否存在,並且可讀 w判斷物件是否存在,並且可寫 x 判斷物件是否存在,並且可執行...