C语言判断文件是否存在

http://wenku.baidu.com/view/775c6221af45b307e8719731.html

 

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

你可能感兴趣的:(c,unix,File,Access,语言)