• λ我爱Aspx >> VC.Net >> VC MFC 如何删除文件,目录,文件夹
  • VC MFC 如何删除文件,目录,文件夹

  • :搜狐博客  Դ:搜狐博客  :2007-10-21 20:17:41  ؼ:VC MFC 如何删除文件,目录,文件夹
  • 项目中突然要使用删除文件的功能,于是看看书,网上找找资料,总结了一些方法,其实都很简单的。希望对大家有帮助:

    第一种方法:   定义一个文件类对象来操作
    CFile   TempFile;  
      TempFile.Remove(指定文件名);

    第二种方法:  使用系统函数 DeleteFile( LPCSTR filename )删除文件    _rmdir(),删除目录 DeleteDirectory(sTempDir);  删除目录 RemoveDirectory(sTempDir);删除目录
    eg:  DeleteFile(   char   *tempFileName);  

    上面提到的删除目录的方法只能删除空目录(即文件夹),如果目录下有文件或者子目录,就不能删除了,VC里好像没有直接的函数,只能手动写个函数来删除了,下面提供一个删除非空目录的方法:


     

     

    //删除文件夹目录(非空)

    bool DeleteDirectory(char* sDirName) 

        CFileFind tempFind; 
        
            IsFinded 
    相信以上方法已经足够用了吧。

    char sTempFileFind[200] ;
        
        sprintf(sTempFileFind,
    "%s\*.*",sDirName); 
        BOOL IsFinded 
    = tempFind.FindFile(sTempFileFind);  
        
    while (IsFinded) 
        
    = tempFind.FindNextFile(); 
            
            
    if (!tempFind.IsDots()) 
           
    字串4 
                
    char sFoundFileName[200]; 
                strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(
    200)); 
                
                
    if (tempFind.IsDirectory())  字串7 
               
    字串9 
                    
    char sTempDir[200]; 
                    sprintf(sTempDir,
    "%s\%s",sDirName,sFoundFileName); 
                    DeleteDirectory(sTempDir);  字串5 
                }
     
                
    else 
                
    字串3 
                    
    char sTempFileName[200]; 
                    sprintf(sTempFileName,
    "%s\%s",sDirName,sFoundFileName); 
                    DeleteFile(sTempFileName);  字串8 
                }
     
            }
     
        }
     
        tempFind.Close(); 
        
    if(!RemoveDirectory(sDirName))  字串2 
    字串9 
            
    return FALSE; 
        }
     
        
    return TRUE; 
    }
     
    //下面是应用,CString m_strDir 是一个文件夹路径,如:d:downloadpic
    BOOL DelAll()
    {
        
    if(PathFileExists(m_strDir))     
            DeleteDirectory((LPSTR)(LPCTSTR)m_strDir);
        
    return 1;
    }
     

    Ҷƪл˵?
  • һƪ没有了!
    һƪ24点游戏的完全解决