C语言判断一个文件是否存在,以及如何删除

来源:互联网 发布:婚礼海报设计软件 编辑:程序博客网 时间:2024/06/05 12:03
#include <iostream>
#include <fstream>
using namespace std;
#define FILENAME "stat.dat"
int main()
{
      fstream _file;
      _file.open(FILENAME,ios::in);
      if(!_file)
      {
          cout<<FILENAME<<"没有被创建";
       }
       else
       {
           cout<<FILENAME<<"已经存在";
       }
       return 0;
}



另外一种利用 c 语言的库的办法:

函数名: access
功   能: 确定文件的访问权限
用   法: int access(const char *filename, int amode);
程序例:
#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);
}

access(filename, 0)0 表示判断文件是否存在

finename 文件名称                                       mode 模式,共5种模式:                                 

0-检查文件是否存在         

1-检查文件是否可运行        

2-检查文件是否可写访问    

4-检查文件是否可读访问     

6-检查文件是否可读/写访问

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 函数名:   unlink    
  功   能:   删掉一个文件    
  用   法:   int   unlink(char   *filename);    
  程序例:     
    
  头文件为,dos.h   io.h   stdio.h都可以

  #include    
   
  int   main(void)    
  {    
  FILE   *fp   =   fopen("junk.jnk","w");    
  int   status;    
   
  fprintf(fp,"junk");    
   
  status   =   access("junk.jnk",0);    
  if   (status   ==   0)    
  printf("File   exists\n");    
  else    
  printf("File   doesn't   exist\n");    
   
  fclose(fp);    
  unlink("junk.jnk");    
  status   =   access("junk.jnk",0);    
  if   (status   ==   0)    
  printf("File   exists\n");    
  else    
  printf("File   doesn't   exist\n");    
   
   
  return   0;    
  }    
------------------------------------------------------------------------------------------------------------------

#include   <stdio.h>  
   
  int   remove(const   char   *fname);  
  函数remove删除以fname串为名字的文件。删除成功返回0,否则返回非0。  
   
  int   main(int   argc,   char   *argv[])  
  {  
        if(remove(argv[1]))  
                  printf("Remove   Error");  
        return   0;  
  }

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

原创粉丝点击