置頂 access函式 linux

2021-09-07 22:03:00 字數 1543 閱讀 8543

pathname: 檔案/目錄路徑

例子:

判斷test檔案

是否存在

#include

#include

#include

int main()

else

printf("direxit!\n");

return 0;

}

1、

/home下test

檔案是否存在

如果傳入的pathname是」/home/test",

路徑最後乙個字串不是斜槓』/』

,結果如下:

root@vm-ubuntu203001:~/test#./a.out

dir exit!

因為 test在/home下面是個檔案,access判斷這個檔案已經存在,是正確的。

2、/home下test

目錄是否存在

如果傳入的pathname是」/home/test/",

路徑最後乙個字串是斜槓』/』

,結果如下:

root@vm-ubuntu203001:~/test#./a.out

erro!20:nota directory

erro! 17 : file exists

測試結果是,access 把/home目錄下面的test檔案當做目錄了,最後發現test不是目錄,所以報錯了。

經過查詢文件,

[注釋:如果linux檔案路徑的最後乙個字元是斜槓』/』,那麼linux會把這個路徑當做目錄路徑來處理,而不管路徑中的目錄名實際上是個已經存在的檔名。]

Linux系統呼叫 access函式詳解

linux系統呼叫 access函式詳解 2007 07 30 23 10 access系統呼叫 功能描述 檢查呼叫程序是否可以對指定的檔案執行某種操作。用法 include include int access const char pathname,int mode 引數 pathname 需要...

Linux系統程式設計 access函式

include intaccess const char pathname,int mode 引數一 路徑名 引數二 f ok 值為0,判斷檔案是否存在 x ok 值為1,判斷對檔案是可執行許可權 w ok 值為2,判斷對檔案是否有寫許可權 r ok 值為4,判斷對檔案是否有讀許可權 注 後三種可以...

access函式使用

標頭檔案 io.h 功 能 確定檔案或資料夾的訪問許可權。即,檢查某個檔案的訪問方式,比如說是唯讀方式 只寫方式等。如果指定的訪問方式有效,則函式返回0,否則函式返回 1。用 法 int access const char filenpath,int mode 或者int access const ...