【转】C语言判断文件是否存在

本文介绍使用C语言中的access函数来判断文件是否存在及其权限检查的方法。通过几个示例程序展示了如何利用access函数进行文件存在性的判断,并进一步检查文件是否具有读写权限。

 

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 

 

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

#include <stdio.h>

#include <io.h>

int file_exists(char *filename);

int main(void)

{

printf("Does NOTEXIST.FIL exist: %s/n",

file_exists("NOTEXISTS.FIL") ? "YES" : "NO");

return 0;

}

int file_exists(char *filename)

{

return (access(filename, 0) == 0);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值