access測試檔案是否可讀 可寫

2021-07-22 03:46:57 字數 838 閱讀 4230

linux核心總是根據程序的有效使用者id和有效組id來決定乙個程序是否有權訪問某個檔案。因此,在編寫調整使用者id的程式時,在讀寫乙個檔案之前必須明確檢查其使用者是否原本就有對此檔案的訪問許可權。為了實現這種確認,需要使用access函式。

一般形式為;

#include

int access(const char *pathname,int mode);

其中,pathname是希望檢驗的檔名(包含路徑),mode是欲檢查的訪問許可權,如下所示

r_ok  檢驗呼叫程序是否有讀訪問許可權

w_ok  檢驗呼叫程序是否有寫訪問許可權

x_ok  檢驗呼叫程序是否有執行訪問許可權

f_ok  檢驗規定的檔案是否存在

access檢查使用者對乙個檔案的許可權情況,根據mode的值檢查呼叫程序對檔案pathname是否具有讀、寫、或執行的許可權。若程序實際使用者具有mode所指出的許可權,access返回0.否則返回-1.

//access測試檔案存在與否,是否可讀/可寫

/*#include #include #define name "3.txt"

int main(void)

else

ret = access(name, r_ok);

if (ret < 0)

else

ret = access(name, w_ok);

if (ret < 0)

else

ret = access(name, x_ok);

if (ret < 0)

else

return 0;

}

4 7 access函式 檔案許可權測試

access函式用於按實際使用者id和實際組id進行訪問許可權測試。函式原型如下 include int access const char pathname,int mode 返回值 若測試成功則返回0,若出錯則返回 1 引數 pathname 檔案路徑 mode 所要測試的許可權,是一些預定義的...

DAO讀寫ACCESS檔案

我在網上想尋找乙個使用 cdao 類來從資料表讀出或寫入資料資料,但是我沒有得到什麼線索。現在自己完成了這個功能,從乙個微軟的 access 檔案 mdb 檔案中快速 動態 簡便的建立 寫入 讀出資料 我們的例子是乙個基於對話方塊的程式。設計我們的介面 為了建立我們的資料庫介面,首先我們應該在工程的...

java 操作access檔案

獲取資料庫鏈結 param mdbpath 檔案路徑 return private static connection getconn string mdbpath catch classnotfoundexception e catch sqlexception e return conn 建表 ...