C语言中如何判断文件是否存在

方法一:access函数判断文件夹或者文件是否存在

函数原型: int access(const char *filename, int mode);

所属头文件:io.h

filename:可以填写文件夹路径或者文件路径

mode:0 (F_OK) 只判断是否存在

2 (R_OK) 判断写入权限

4 (W_OK) 判断读取权限

6 (X_OK) 判断执行权限

用于判断文件夹是否存在的时候,mode取0,判断文件是否存在的时候,mode可以取0、2、4、6。 若存在或者具有权限,返回值为0;不存在或者无权限,返回值为-1。

错误代码

EACCESS 参数pathname 所指定的文件不符合所要求测试的权限。

EROFS 欲测试写入权限的文件存在于只读文件系统内。

EFAULT 参数pathname指针超出可存取内存空间。

EINVAL 参数mode 不正确。

ENAMETOOLONG 参数pathname太长。

ENOTDIR 参数pathname为一目录。

ENOMEM 核心内存不足

ELOOP 参数pathname有过多符号连接问题。

EIO I/O 存取错误。

特别提醒:使用access()作用户认证方面的判断要特别小心,例如在access()后再做open()的空文件可能会造成系统安全上的问题。

实例:

#include

#include

int main(void)

{

if ( !access("C://windows",0) )

puts("C://windows EXISITS!");

else

puts("C://windows DOESN'T EXISIT!");

return 0;

}

方法二:fopen函数判断文件是否存在

函数原型:FILE *fopen (char *filename, char *type);

filename:文件路径

type:打开文件的方式(有r、w、r+、w+、a、rb、wb等等)

用于判断文件是否存在可以使用 r 或者 rb ,因为使用 其它方式的话,可能会自动建立文件。 返回值为NULL(打不开)和正数(能打开)。

特别提醒:用这种方法做出的判断是不完全正确的,因为有的文件存在,但是可能不可读。

linux c 判断文件是否存在,C语言中如何判断文件是否存在相关推荐

  1. C语言两个同名头文件,C lang: C语言中两个头文件引入相同的头文件(Header.h)

    C lang: C语言中两个头文件引入相同的头文件(Header.h) C lang: C语言中两个头文件引入相同的头文件(Header.h) [var1] For example: Header.h ...

  2. c语言 获取文件修改时间,C语言中用于修改文件的存取时间的函数使用

    C语言utime()函数:修改文件的存取时间和更改时间头文件: #include #include 定义函数: int utime(const char * filename, struct utim ...

  3. R语言中读取xlsx文件的方法

    R语言中读取xlsx文件的方法 安装包 install.packages("openxlsx") library(openxlsx) 文件名+sheet的序号 data<- ...

  4. c语言两个字母如何比较,c如何比较两个字符 C语言中怎么判断两个字符相同

    可以使用库函数strcmp判断,具体如下: strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b); 该函数会对a和b的每个字符,按照ascii码值比较 ...

  5. bak文件转oracle文件,如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g)...

    如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g) 我有Oracle 11g备份文件(.bak文件)如何在Oracle 11g ...

  6. c语言中如何判断文件是否存在

    C语言判断文件夹或者文件是否存在的方法 方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所属头文 ...

  7. c语言中用于判断ch是否是字符的表达式,最新C语言复习题集资料

    精品文档 C语言复习题集 一. 判断题 1-1.C语言程序是从源文件的第一条语句开始执行的. 正确答案:F 1-2.C语言中的变量名不区分大小写. 正确答案:F 1-3.若变量定义为double x; ...

  8. python文件定位函数_C语言中文件定位函数总结

    C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...

  9. linux怎么查看一个bam文件,生信分析过程中这些常见文件的格式以及查看方式你都知道吗?...

    原标题:生信分析过程中这些常见文件的格式以及查看方式你都知道吗? 生信分析过程中,会与很多不同格式的文件打交道,除了原始测序数据 fastq 之外,还需要准备基因组文件 fasta 格式和基因注释文件 ...

最新文章

  1. 每日一皮:据说PM就是这样忍受你的!
  2. Linux_Environment_Red Hat 卸载OpenJDK ,安装Orcl JDK 及 NTFS-3g
  3. 关于c++ pair自己遇到的一个问题?为何不一样?为何第一个程序不能返回pair内数组的值呢?(已经解决)
  4. 判断客户端是电脑还是手机
  5. 疯子的算法总结(一) 位运算(快速幂、快速乘)
  6. JVM垃圾收集和优化
  7. C++实现简单的信息管理系统
  8. 【LeetCode160】相交链表
  9. Gartner 容器报告:阿里云与 AWS 并列第一,领先微软、谷歌
  10. lazarus的动态方法和虚拟方法
  11. xp系统wep服务器,iis 6.0 完整安装包 适用xp
  12. 牛逼!分享一款基于 SpringBoot 的微信点餐系统(附源码)
  13. 训练序列与导频序列的概念辨析
  14. 程序设计与数据结构_周立功【读书笔记】
  15. 【一些有关GraN-DAG的知识点总结】
  16. 房屋出租系统(第二版)
  17. 【基础】Linux 常用操作
  18. 385高校毕业设计选题
  19. 常见的Http状态码以及其代表的意义
  20. 95年计算机专业的电脑,电脑怀旧98年至今20多年买的第一台电脑配置

热门文章

  1. UVA11600 Masud Rana
  2. android 11系统签名后桌面找不到app
  3. 大资管用卫星研究宏观经济,效果如何?
  4. 学习笔记(1):思科CCNA视频课程:晁老师CCNA课堂举例-经典语录精选-CCNA视频:OSPF数据包的类型...
  5. 利用SQLCipher加解密数据库(包括加解密已有的数据库)
  6. js数组删除指定元素
  7. html点击按钮清空元素,jQuery怎么删除元素节点
  8. android 手机分辨率与DPI对照表
  9. 小米50瓦立式风冷无线充套装产品使用
  10. Java毕业设计-教育辅助交流管理系统