VC隐藏文件和判断文件是否存在

来源:互联网 发布:维基百科中文版数据库 编辑:程序博客网 时间:2024/05/29 04:37
一:隐藏文件。
    1.WinExec函数。
      该函数执行一个cmd命令,如修改
      C:\\Documentsand Settings\\eMLab\\Application Data\\test.txt
      文件属性为隐藏可以:
      CStringstrFileName =
      "C:\\Documents and Settings\\eMLab\\ApplicationData\\test.txt";
      CStringstrCmd = "attrib +h" + strFileName;
      WinExec(strCmd,0);
      attrib修改文件属性,+h表示给文件加上隐藏属性。
    2.SetFileAttributes函数
      原型:BOOLSetFileAttributes(LPCTSTR  lpFileName,   //file name
                                  WORD   dwFileAttributes //fileattribute
                                  );    
      如:
      SetFileAttributes(strFileName,FILE_ATTRIBUTE_HIDDEN);
   FILE_ATTRIBUTE_HIDDEN就表示隐藏属性。 
    3.CFile和CFileStatus类
      CFile的静态函数GetStatus可以读取文件状态
      CFile的静态函数SetStatus可以修改文件状态
      如:
   FileStatus fs;  
      CFile::GetStatus(strFileName,fs);  
      fs.m_attribute=CFile::hidden;          //sethidden attribute
      CFile::SetStatus(strFileName,fs); 
二:判断文件是否存在。
  1.access函数,在io.h中。
   原型:int access(const char *filename, int amode);
      参数amode(好象有5种模式)
      0:检查文件是否存在        
      1:检查文件是否可运行        
      2:检查文件是否可写访问    
      4:检查文件是否可读访问  
      还有一种,由于MSDN突然坏了,暂时保留着
      if( access(file,0) )
      {
      //文件不存在
      }
    2.CFile和CFileStatus类
      CFile的静态函数GetStatus如果返回FALSE表示文件不存在
      CFileStatusfs;  
      if( !CFile::GetStatus(strFileName,fs) )
      {
      //文件不存在
      }

    3.CFileFind类
      直接使用该类的成员函数FindFile进行判断
      CFileFind ff;  
      if ( !ff.FindFile(strFileName))  
      {
      //文件不存在  
      }
      ff.Close();
    4.PathFileExists方法
      这是一个API方法,直接调用即可

出处:http://blog.sina.com.cn/s/blog_5a237c2b0100b3ku.html