zoukankan      html  css  js  c++  java
  • C++ Delete Directory and File

    Method 1:Using system Command

    #include< stdlib.h > 
    #include< stdio.h > 
    
    int main( ) 
    { 
    system( "md d://aa//zhao " ); // 在下新建文件夹 
    system( "del d://aa//zhao " ); // 删除该文件夹下的所有文件 
    }


    Method 2:Using DeleteDirectory Function, you should delete files in the directory first.

    BOOL CDlgData::DeleteDirectory(char *sDirName)
    {
        CFileFind tempFind; 
        char sTempFileFind[200] ;
     
        sprintf(sTempFileFind,"%s\\*.*",sDirName); 
        BOOL IsFinded = tempFind.FindFile(sTempFileFind); 
        while (IsFinded) 
        { 
            IsFinded = tempFind.FindNextFile(); 
     
            if (!tempFind.IsDots()) 
            { 
                char sFoundFileName[200]; 
                strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(200)); 
     
                if (tempFind.IsDirectory()) 
                { 
                    char sTempDir[200]; 
                    sprintf(sTempDir,"%s\\%s",sDirName,sFoundFileName); 
                    DeleteDirectory(sTempDir); 
                } 
                else 
                { 
                    char sTempFileName[200]; 
                    sprintf(sTempFileName,"%s\\%s",sDirName,sFoundFileName); 
                    DeleteFile(sTempFileName); 
                } 
            } 
        } 
        tempFind.Close(); 
        if(!RemoveDirectory(sDirName)) 
        { 
            return FALSE; 
        } 
        return TRUE; 
    }

    Method 3:Using SHFileOperation API

    Function Prototype:

    WINSHELLAPI int WINAPI SHFileOperation(
        LPSHFILEOPSTRUCT lpFileOp 
       );函数删除包含文件的目录

    //删除文件夹
    SHFILEOPSTRUCT	 FileOp;   
    FileOp.fFlags	=	FOF_NOCONFIRMATION;   
    FileOp.hNameMappings   =   NULL;   
    FileOp.hwnd   =   NULL;   
    FileOp.lpszProgressTitle   =   NULL;   
    FileOp.pFrom	=   "要删除的目录";   
    FileOp.pTo	 =	 NULL;	 
    FileOp.wFunc	=   FO_DELETE;	
    SHFileOperation(&FileOp);


  • 相关阅读:
    HDU 3339 In Action 最短路+01背包
    hash与map的区别联系应用(转)
    POJ
    欧几里德与扩展欧几里德算法(转)
    POJ
    第三届蓝桥杯C++B组省赛
    第四届蓝桥杯C++B组省赛
    第五届蓝桥杯C++B组省赛
    第六届蓝桥杯C++B组省赛
    线段树为什么要开4倍空间
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887556.html
Copyright © 2011-2022 走看看