access[C語言函式名]

access to作為有權使用什麼,即可理解access()函式想表達有做某事的許可權。函式參數有兩個,第一個為檔案,那么對應的第二個參數就不難推想出為檔案有那些許可權和是否存在。

頭檔案:unistd.h

功 能: 確定檔案或資料夾的訪問許可權。即,檢查某個檔案的存取方式,比如說是唯讀方式、只寫方式等。如果指定的存取方式有效,則函式返回0,否則函式返回-1。

用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );

參數說明:

filenpath

檔案或資料夾的路徑,當前目錄直接使用檔案或資料夾名

備註:當該參數為檔案的時候,access函式能使用mode參數所有的值,當該參數為資料夾的時候,access函式值能判斷資料夾是否存在。在WIN NT 中,所有的資料夾都有讀和寫許可權

mode

要判斷的模式

在頭檔案unistd.h中的預定義如下:

#define R_OK 4 /* Test for read permission. */

#define W_OK 2 /* Test for write permission. */

#define X_OK 1 /* Test for execute permission. */

#define F_OK 0 /* Test for existence. */

具體含義如下:

R_OK 只判斷是否有讀許可權

W_OK 只判斷是否有寫許可權

X_OK 判斷是否有執行許可權

F_OK 只判斷是否存在

在宏定義裡面分別對應:

00 只存在

02 寫許可權

04 讀許可權

06 讀和寫許可權

access函式程式範例(C語言中)

#include <stdio.h>

#include <unistd.h>

int file_exists(char *filename);

int main(void)

{

printf("Does NOTEXIST.FIL exist: %s\n",

file_exists("NOTEXISTS.FIL") ? "YES" : "NO");

return 0;

}

int file_exists(char *filename)

{

return (access(filename, 0) == 0);

}

相關詞條

熱門詞條

聯絡我們