linux access文件是否存在,linux下的access()函數判斷文件是否存在、打印時間

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

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代碼  64e09c12039003264734ae63e0aed06c.png

#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;

}

運行結果如下:

25db6dc0b13d8ee4d459c66b82e68f61.png

二、如果在C中打印當前時間

下面是一個打印系統當前時間的小例子,函數的語法暫時就不列出了,只是會用這些就差不多了

C代碼  64e09c12039003264734ae63e0aed06c.png

#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;

}

運行結果:

af568cec0548d2b0e68b5076a679b08f.png

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值