Linux access函數(shù)具體應(yīng)用舉例說明
這兩天在學(xué)如何寫個(gè)linux下的shell才明白原來dos下的command.COM也是個(gè)shell這當(dāng)然要用到c的很多庫函數(shù) access(判斷是否具備存取文檔的權(quán)限)。
Linux access函數(shù)功能描述: 檢查調(diào)用進(jìn)程是否可以對(duì)指定的文件執(zhí)行某種操作。
Linux access函數(shù)用法: 
#include 
#include 
int access(const char *pathname, int mode);
Linux access函數(shù)參數(shù): 
pathname: 需要測試的文件路徑名。 
mode: 需要測試的操作模式,可能值是一個(gè)或多個(gè)R_OK(可讀?), W_OK(可寫?), X_OK(可執(zhí)行?) 或 F_OK(文件存在?)組合體。
Linux access函數(shù)返回說明: 
成功執(zhí)行時(shí),返回0。失敗返回-1,errno被設(shè)為以下的某個(gè)值 
EINVAL: 模式值無效 
EACCES: 文件或路徑名中包含的目錄不可訪問 
ELOOP : 解釋路徑名過程中存在太多的符號(hào)連接 
ENAMETOOLONG:路徑名太長 
ENOENT:路徑名中的目錄不存在或是無效的符號(hào)連接 
ENOTDIR: 路徑名中當(dāng)作目錄的組件并非目錄 
EROFS: 文件系統(tǒng)只讀 
EFAULT: 路徑名指向可訪問的空間外 
EIO:輸入輸出錯(cuò)誤 
ENOMEM: 不能獲取足夠的內(nèi)核內(nèi)存 
ETXTBSY:對(duì)程序?qū)懭氤鲥e(cuò)
Linux access函數(shù)例子: 
 
- /* test.c */ /* test.c */
 - #include
 - #include
 - #include
 - #include
 - int main(int argc, char *argv[])
 - {
 - if (argc
 - #include
 - #include
 - #include
 - #include
 - int main(int argc, char *argv[])
 - {
 - if (argc
 
本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u3/93782/showart_1915418.html
【編輯推薦】















 
 
 
 
 
 
 