複製鏈接
請複製以下鏈接發送給好友

access

(C語言函數名)

鎖定
access to作為有權使用什麼,即可理解access()函數想表達有做某事的權限。函數參數有兩個,第一個為文件,那麼對應的第二個參數就不難推想出為文件有那些權限和是否存在。
外文名
access
性    質
C語言函數名
類    型
英文詞彙
函數簡介
功 能: 確定文件或文件夾訪問權限。即,檢查某個文件的存取方式,比如説是只讀方式、只寫方式等。如果指定的存取方式有效,則函數返回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);
}