linux下的access()函数判断文件是否存在、打印时间
一、access函数
功能描述:
检查调用进程是否可以对指定的文件执行某种操作。
用法:
#include <unistd.h>
#include <fcntl.h>
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:对程序写入出错
例如:
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <fcntl.h>
- 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;
- }
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h>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中打印当前时间
下面是一个打印系统当前时间的小例子,函数的语法暂时就不列出了,只是会用这些就差不多了
- #include <stdio.h>
- #include <time.h>
- 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;
- }
#include <stdio.h> #include <time.h> 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; }
运行结果:
linux下的access()函数判断文件是否存在、打印时间相关推荐
- linux下c/c++语言判断文件是否存在,是否可写
代码如下: #include <unistd.h>int FindFile(const char *file) {/* Check for existence */if( (access( ...
- linux C语言access()函数(检查用户对文件的权限)(判断文件是否存在)
文章目录 man 2 access 20220601 不知道上面所说的pathname的符号链接取消引用是什么意思 man 2 access ACCESS(2) Linux Programmer's ...
- sleep头文件linux,Linux下的sleep函数 要用的话得包涵什么头文件啊?
Linux下的sleep函数 要用的话得需要#include sleep把进程的运行状态改为睡眠,将其从系统可执行队列去掉,这样系统就不会调度到该进程,不会分配CPU时间片,同时根据该进程的睡眠时间, ...
- linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法
Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...
- linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-
Linux下的C的库文件和头文件有什么区别- (2012-04-10 01:16:57) 标签: linux 杂谈 Linux下的C的库文件和头文件有什么区别?刚刚接触 这里有点没搞清楚 如果按我的理 ...
- linux mysql 数据文件,Linux下修改MySQL数据库数据文件路径的步骤
使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysq ...
- [转帖]关于Linux下的icotl函数
关于Linux下的icotl函数 最近接触android开发,因为有时间所以就关注了下android的源码,在跟踪源码过程中到最后都会遇到icotl函数,虽然在Symbian中曾经遇到过RSocket ...
- linux不同机器之间的拷贝,Linux下不同机器之间的文件拷贝
通过 scp 命令实现不同机器之间的文件拷贝. (1)本机考到目标机器:scp 本机文件 目的地: (2)其他机器考到本机:scp 其他机器上的文件 本机路径 20160701补充:通过scp与win ...
- Linux下使用exec命令将文件与文件描述符关联
在shell脚本下exec为系统自带的脚本命令,其作用是用来执行其他程序: 语法格式: exec (选项)(参数) 选项: -c:在当前环境下执行命令,即在当前shell脚本下执行,而不是打开一个新的 ...
最新文章
- HarmonyOS 怎样打印log/日志的打印
- 自定义Docker容器的 hostname
- Jmeter和LoadRunner的区别
- 【剑指offer】面试题29:顺时针打印矩阵(Java)
- 巧用HashSet装载非重数据(洛谷P2250题题解,Java语言描述)
- Web安全之权限攻击
- Linux学习笔记:CentOS6关闭IPv6
- 基于Java的项目--酒店客房管理系统
- 【智能制造】36页精彩PPT:探讨智能制造的三驾马车
- 【村长的刷题手册-1】LeetCode刷题笔记,不断总结继续出发
- (三) 图像空间域增强——点运算
- UE4制作多人大地型游戏的优化
- MySQL数据库高级面试题(2)
- 北京一所211大学计算机考研从一门改三门!北京化工大学改考
- 解决JPEGImageEncoder生成的图片全黑的问题
- (二)改掉这些坏习惯,还怕写不出优雅的代码?
- 操作系统学习笔记——第二章 进程的描述与控制(二)
- 从入门到精通,计算机er如何快速掌握机器学习(ML)?
- 【CSS】元素的伪类
- 《第一堂棒球课》:职业棒球
热门文章
- perl unload gbk oracle 数据库
- 写给过去的自己-No.2-数据结构篇-初尝柔性数组
- maximo 工作流实现代码
- leetcode - Container With Most Water
- SqlAlchemy个人学习笔记完整汇总
- 关于HtmlParser中Parser【org.htmlparser.Parser】这个类奇怪的地方...求解释【已获得解释】...
- Matlab图形用户界面编程初级入门
- Tomcat学习总结
- Spring的事务管理1
- 游戏服某个服外网玩家连不上,内网才能连