一、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:对程序写入出错

例如:

C代码
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <fcntl.h>
  5. int main()
  6. {
  7. if((access("test.c",F_OK))!=-1)
  8. {
  9. printf("文件 test.c 存在.\n");
  10. }
  11. else
  12. {
  13. printf("test.c 不存在!\n");
  14. }
  15. if(access("test.c",R_OK)!=-1)
  16. {
  17. printf("test.c 有可读权限\n");
  18. }
  19. else
  20. {
  21. printf("test.c 不可读.\n");
  22. }
  23. if(access("test.c",W_OK)!=-1)
  24. {
  25. printf("test.c 有可写权限\n");
  26. }
  27. else
  28. {
  29. printf("test.c 不可写.\n");
  30. }
  31. if(access("test.c",X_OK)!=-1)
  32. {
  33. printf("test.c 有可执行权限\n");
  34. }
  35. else
  36. {
  37. printf("test.c 不可执行.\n");
  38. }
  39. return 0;
  40. }
#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中打印当前时间

下面是一个打印系统当前时间的小例子,函数的语法暂时就不列出了,只是会用这些就差不多了

C代码
  1. #include <stdio.h>
  2. #include <time.h>
  3. int main()
  4. {
  5. time_t now = time(NULL);
  6. char buf[25];
  7. strftime(buf,24,"%Y%m%d",localtime(&now));
  8. printf("%s\n",buf);
  9. strftime(buf,24,"%Y-%m-%d %H:%M:%S",localtime(&now));
  10. printf("%s\n",buf);
  11. strftime(buf,24,"%y%m%d %H:%M:%S",localtime(&now));
  12. printf("%s\n",buf);
  13. strftime(buf,24,"%y%m%d",localtime(&now));
  14. printf("%s\n",buf);
  15. strftime(buf,24,"%H:%M:%S",localtime(&now));
  16. printf("%s\n",buf);
  17. return 0;
  18. }
#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()函数判断文件是否存在、打印时间相关推荐

  1. linux下c/c++语言判断文件是否存在,是否可写

    代码如下: #include <unistd.h>int FindFile(const char *file) {/* Check for existence */if( (access( ...

  2. linux C语言access()函数(检查用户对文件的权限)(判断文件是否存在)

    文章目录 man 2 access 20220601 不知道上面所说的pathname的符号链接取消引用是什么意思 man 2 access ACCESS(2) Linux Programmer's ...

  3. sleep头文件linux,Linux下的sleep函数 要用的话得包涵什么头文件啊?

    Linux下的sleep函数 要用的话得需要#include sleep把进程的运行状态改为睡眠,将其从系统可执行队列去掉,这样系统就不会调度到该进程,不会分配CPU时间片,同时根据该进程的睡眠时间, ...

  4. linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...

  5. linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-

    Linux下的C的库文件和头文件有什么区别- (2012-04-10 01:16:57) 标签: linux 杂谈 Linux下的C的库文件和头文件有什么区别?刚刚接触 这里有点没搞清楚 如果按我的理 ...

  6. linux mysql 数据文件,Linux下修改MySQL数据库数据文件路径的步骤

    使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysq ...

  7. [转帖]关于Linux下的icotl函数

    关于Linux下的icotl函数 最近接触android开发,因为有时间所以就关注了下android的源码,在跟踪源码过程中到最后都会遇到icotl函数,虽然在Symbian中曾经遇到过RSocket ...

  8. linux不同机器之间的拷贝,Linux下不同机器之间的文件拷贝

    通过 scp 命令实现不同机器之间的文件拷贝. (1)本机考到目标机器:scp 本机文件 目的地: (2)其他机器考到本机:scp 其他机器上的文件 本机路径 20160701补充:通过scp与win ...

  9. Linux下使用exec命令将文件与文件描述符关联

    在shell脚本下exec为系统自带的脚本命令,其作用是用来执行其他程序: 语法格式: exec (选项)(参数) 选项: -c:在当前环境下执行命令,即在当前shell脚本下执行,而不是打开一个新的 ...

最新文章

  1. HarmonyOS 怎样打印log/日志的打印
  2. 自定义Docker容器的 hostname
  3. Jmeter和LoadRunner的区别
  4. 【剑指offer】面试题29:顺时针打印矩阵(Java)
  5. 巧用HashSet装载非重数据(洛谷P2250题题解,Java语言描述)
  6. Web安全之权限攻击
  7. Linux学习笔记:CentOS6关闭IPv6
  8. 基于Java的项目--酒店客房管理系统
  9. 【智能制造】36页精彩PPT:探讨智能制造的三驾马车
  10. 【村长的刷题手册-1】LeetCode刷题笔记,不断总结继续出发
  11. (三) 图像空间域增强——点运算
  12. UE4制作多人大地型游戏的优化
  13. MySQL数据库高级面试题(2)
  14. 北京一所211大学计算机考研从一门改三门!北京化工大学改考
  15. 解决JPEGImageEncoder生成的图片全黑的问题
  16. (二)改掉这些坏习惯,还怕写不出优雅的代码?
  17. 操作系统学习笔记——第二章 进程的描述与控制(二)
  18. 从入门到精通,计算机er如何快速掌握机器学习(ML)?
  19. 【CSS】元素的伪类
  20. 《第一堂棒球课》:职业棒球

热门文章

  1. perl unload gbk oracle 数据库
  2. 写给过去的自己-No.2-数据结构篇-初尝柔性数组
  3. maximo 工作流实现代码
  4. leetcode - Container With Most Water
  5. SqlAlchemy个人学习笔记完整汇总
  6. 关于HtmlParser中Parser【org.htmlparser.Parser】这个类奇怪的地方...求解释【已获得解释】...
  7. Matlab图形用户界面编程初级入门
  8. Tomcat学习总结
  9. Spring的事务管理1
  10. 游戏服某个服外网玩家连不上,内网才能连