C语言判断文件是否存在

用函数access,头文件是io.h,原型: 
   
int   access(const   char   *filename,   int   amode);

amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。

这个函数还可以检查其它文件属性:

06     检查读写权限 
04     检查读权限 
02     检查写权限 
01     检查执行权限 
00     检查文件的存在性
在UNIX和VC下实验成功。
好处是 fopen(..,"r")不好,当无读权限时一不行了。
而这个就算这个文件没有读权限,也可以判断这个文件存在于否
存在返回0,不存在返回-1
#include <stdio.h>
int main()
{
       
printf ("%d",access("111",0));

--------------------------------------------------------------------------------------------

#include <io.h>
#include <stdio.h>
#include <stdlib.h>

void main( void )
{
   /* Check for existence */
   if( (_access( "ACCESS.C", 0 )) != -1 )
   {
      printf( "File ACCESS.C exists\n" );
      /* Check for write permission */
      if( (_access( "ACCESS.C", 2 )) != -1 )
         printf( "File ACCESS.C has write permission\n" );
   }
}

Output

File ACCESS.C exists
File ACCESS.C has write permission

时间: 2024-10-08 00:48:58

C语言判断文件是否存在的相关文章

C语言判断文件是否存在(转)

int   access(const   char   *filename,   int   amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1. 这个函数还可以检查其它文件属性: 06     检查读写权限 04     检查读权限 02     检查写权限 01     检查执行权限 00     检查文件的存在性 在UNIX和VC下实验成功. 好处是 fopen(..,"r")不好,当无读权限时一不行了. 而这个就算这个文件没有读权限

Linux 用C语言判断文件和文件夹

#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <dirent.h> int access(const char *pathname, int mode); int is_file_exist(const char*file_path){ if(file_path==NULL){ return -1; } if(access(file_path,F_OK)==0){ re

C语言判断文件夹名是否合法

 /*************************************************************************** * Function Name: validateFoldername * Description:  The ength of folder name should be less than 255. *                      Illegal characters are \<>()[]&:,/|?* \0

关于C语言读取文件时候多读一行

梗概:为什么C语言读取文件到结构体时为什么整天多读一行?一切都是[!feof(fp)]的错!!! while (!feof(fp)) {  fgets(buffer,256,fp);  j++; } 像这样的代码,是很多C语言学者经常犯的错误!! feof()这个函数是用来判断指针是否已经到达文件尾部的.若fp已经指向文件末尾,则feof(fp)函数值为"真",即返回非零值:否则返回0. 对呀!那有什么问题的呢? 其实feof() 这个函数是当读到文件结束符就返回 true 值,而非到

C语言的文件的操作(二)

C语言的文件的操作(二) 八.数据块读写   #fread 函数是从文件中读出数据块. int fread(void *buf, int size, int count, FILE *fp); #fwrite函数是向文件写入数据块. int fwrite(void *buf, int size, int count, FILE *fp); 参数: buf是一个指针,对fread是读入数据的存放地址,对fwrite是要输出数据的地址. size,要写的字节数:count,要进行写多少个size字节

「C语言」文件的概念与简单数据流的读写函数

写完「C语言」单链表/双向链表的建立/遍历/插入/删除 后,如何将内存中的链表信息及时的保存到文件中,又能够及时的从文件中读取出来进行处理,便需要用到”文件“的相关知识点进行文件的输入.输出. 其实,就算不懂得链表,也完全可以学习”文件“相关知识点,但在此之前最好有”指针“基础. 本篇文章整理自<C语言程序设计教程--人民邮电出版社>第十二章——文件,以作文件探讨. 一.数据流与文件概念 二.文件的打开与关闭 三.文件的顺序读写 四.文件的随机读写 一.数据流与文件概念 1.数据流 数据的输入

C语言读取文件

1.首先我们要在D盘下新建一个文本文件(文件名为:AAA.txt),并在文件里面写入任意字符,如果没有此文件会因为找不到文件而造成文件打开失败. 2.运行程序,将文件内的字符逐个读取输出到屏幕上 3.若打开文件失败,则如下图所示,此时应检查文件路径是否正确 fopen函数说明: 作用:用来打开一个文件 格式:FILE * fopen(const char * path,const char * mode); 返回值:打开文件成功返回一个文件指针,若打开文件失败则返回NULL 参数说明: path

【C】C语言中文件操作相关内容

1. 文件和流的关系 C将每个文件简单地作为顺序字节流.每个文件用文件结束符结束,或者在特定字节数的地方结束,这个特定的字节数可以存储在系统维护的管理数据结构中.当打开文件时,就建立了和文件的关系. 在开始执行程序的时候,将自动打开3个文件和相关的流:标准输入流.标准输出流和标准错误.流提供了文件和程序的通信通道.打开一个文件将返回指向FILE结构(在stdio.h中定义)的指针,它包含用于处理文件的信息,也就是说,这个结构包含文件描述符.文件描述符是操作系统数组(打开文件列表的索引).每个数组

使用go语言复制文件

怎样使用go语言将文件复制成另一文件?go语言标准包io里提供一个简单的函数copy实现了这个功能,下面是一个例子. //////////// package main import (     "fmt"     "io"     "os" ) func main() {     CopyFile(os.Args[1], os.Args[2]) // os.Args[1]为目标文件,os.Args[2]为源文件     fmt.Println(