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

来源:互联网 发布:福州知鱼科技干嘛的 编辑:程序博客网 时间:2024/06/05 14:09

 

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);

 

原创粉丝点击