Linux access函數具體應用舉例說明
這兩天在學如何寫個linux下的shell才明白原來dos下的command.COM也是個shell這當然要用到c的很多庫函數 access(判斷是否具備存取文檔的權限)。
Linux access函數功能描述: 檢查調用進程是否可以對指定的文件執行某種操作。
Linux access函數用法:
#include
#include
int access(const char *pathname, int mode);
Linux access函數參數:
pathname: 需要測試的文件路徑名。
mode: 需要測試的操作模式,可能值是一個或多個R_OK(可讀?), W_OK(可寫?), X_OK(可執行?) 或 F_OK(文件存在?)組合體。
Linux access函數返回說明:
成功執行時,返回0。失敗返回-1,errno被設為以下的某個值
EINVAL: 模式值無效
EACCES: 文件或路徑名中包含的目錄不可訪問
ELOOP : 解釋路徑名過程中存在太多的符號連接
ENAMETOOLONG:路徑名太長
ENOENT:路徑名中的目錄不存在或是無效的符號連接
ENOTDIR: 路徑名中當作目錄的組件并非目錄
EROFS: 文件系統只讀
EFAULT: 路徑名指向可訪問的空間外
EIO:輸入輸出錯誤
ENOMEM: 不能獲取足夠的內核內存
ETXTBSY:對程序寫入出錯
Linux access函數例子:
- /* 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博客,如果查看原文請點:http://blog.chinaunix.net/u3/93782/showart_1915418.html
【編輯推薦】