access函式使用

2022-09-15 13:57:14 字數 857 閱讀 1527

呼叫open函式時,是以有效使用者而不是實際使用者的身份去驗證程序對要開啟的檔案的讀寫許可權。但是有時候我們想知道的是實際使用者而非有效使用者對某一檔案的許可權,此時就要用到access函式。

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

int faccessat(int fd, const char* pathname, int mode, int flag); 

所需庫:#include

返回值:如果檔案具有指定的訪問許可權,則函式返回0;如果檔案不存在或者不能訪問指定的許可權,則返回-1。

先說簡單的access函式,pathname是檔案的路徑名+檔名,指定要測試的檔案;mode則指明測試哪種許可權,實際上有4種:

對於後三種情況,可以用「或」的方法將多種情況合在一起測試,比如r_ok | w_ok就代表測試程序對檔案的讀寫許可權。

對於faccessat函式,其用fd來指定目錄,mode的含義不變,而flag可以指定是判斷有效使用者的許可權還是實際使用者的許可權。

如果flag的值是af_eaccess(值為0x200)的話,判斷的是有效使用者的許可權;

如果flag的值是0的話,則跟access一樣,判斷的是實際使用者的許可權。

當判斷有許可權時,返回0,否則返回-1.

#include #include 

#include

#include

#include

#include

void err_sys(char *);

void err_sys(char *err_txt)

int main(int argc, char*ar**)

access函式使用

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

access 函式的使用

int access char path,int mode 標頭檔案功能 確定檔案或資料夾的訪問許可權。如果指定的訪問方式有效,則函式返回0,否則函式返回 1。引數path 是訪問檔案所在的路徑名,mode是訪問判斷模式,具體含義如下 r ok 只判斷是否有讀許可權 w ok 只判斷是否有寫許可權 ...

access 函式的使用

int access char path,int mode 標頭檔案功能 確定檔案或資料夾的訪問許可權。如果指定的訪問方式有效,則函式返回0,否則函式返回 1。引數path 是訪問檔案所在的路徑名,mode是訪問判斷模式,具體含義如下 r ok 只判斷是否有讀許可權 w ok 只判斷是否有寫許可權 ...