http://www.iteye.com/topic/1113637
一、access函數
功能描述:
檢查調用進程是否可以對指定的文件執行某種操作。
用法:
#include
#include
int access(const char *pathname, int mode);
參數:
pathname: 需要測試的文件路徑名。
mode: 需要測試的操作模式,可能值是一個或多個R_OK(可讀?), W_OK(可寫?), X_OK(可執行?) 或 F_OK(文件存在?)組合體。
返回說明:
成功執行時,返回0。失敗返回-1,errno被設為以下的某個值
EINVAL: 模式值無效
EACCES: 文件或路徑名中包含的目錄不可訪問
ELOOP : 解釋路徑名過程中存在太多的符號連接
ENAMETOOLONG:路徑名太長
ENOENT: 路徑名中的目錄不存在或是無效的符號連接
ENOTDIR: 路徑名中當作目錄的組件並非目錄
EROFS: 文件系統只讀
EFAULT: 路徑名指向可訪問的空間外
EIO: 輸入輸出錯誤
ENOMEM: 不能獲取足夠的內核內存
ETXTBSY:對程序寫入出錯
例如:
C代碼 
#include
#include
#include
#include
int main()
{
if((access("test.c",F_OK))!=-1)
{
printf("文件 test.c 存在.\n");
}
else
{
printf("test.c 不存在!\n");
}
if(access("test.c",R_OK)!=-1)
{
printf("test.c 有可讀權限\n");
}
else
{
printf("test.c 不可讀.\n");
}
if(access("test.c",W_OK)!=-1)
{
printf("test.c 有可寫權限\n");
}
else
{
printf("test.c 不可寫.\n");
}
if(access("test.c",X_OK)!=-1)
{
printf("test.c 有可執行權限\n");
}
else
{
printf("test.c 不可執行.\n");
}
return 0;
}
運行結果如下:

二、如果在C中打印當前時間
下面是一個打印系統當前時間的小例子,函數的語法暫時就不列出了,只是會用這些就差不多了
C代碼 
#include
#include
int main()
{
time_t now = time(NULL);
char buf[25];
strftime(buf,24,"%Y%m%d",localtime(&now));
printf("%s\n",buf);
strftime(buf,24,"%Y-%m-%d %H:%M:%S",localtime(&now));
printf("%s\n",buf);
strftime(buf,24,"%y%m%d %H:%M:%S",localtime(&now));
printf("%s\n",buf);
strftime(buf,24,"%y%m%d",localtime(&now));
printf("%s\n",buf);
strftime(buf,24,"%H:%M:%S",localtime(&now));
printf("%s\n",buf);
return 0;
}
運行結果:

本文介绍C语言中使用access函数进行文件权限检查的方法,并演示如何利用time和strftime函数打印当前时间。
378

被折叠的 条评论
为什么被折叠?



