• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: C/C++
  • 标签: 删除文件  

资源简介

windows下 C++编程 删除指定文件或者文件夹(包含其下所有文件文件夹)源代码

资源截图

代码片段和文件信息

// deletedir.cpp :  delete file or folder ! create by LIAL ANFOX
//bool DeleteDir(const char *pDir)
//pDir  filename or foldername
//If the function succeeds the return value is truefails=false
#include 
#include  
#include 
#include “deletedir.h“

bool DeleteFolder(char * lpPath) 
{     
char szFind[MAX_PATH];     
WIN32_FIND_DATA FindFileData; 
    strcpy(szFindlpPath);     
strcat(szFind“\\*.*“);
    HANDLE hFind=::FindFirstFile(szFind&FindFileData);     
if(INVALID_HANDLE_VALUE == hFind)//有趣的返回 
{  
return false;
}         
while(TRUE) {         
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)         
{  //判断是否为文件夹        
if(FindFileData.cFileName[0]!=‘.‘)             
{   
strcpy(szFindlpPath);                 
strcat(szFind“\\“);                 
strcat(szFindFindFileData.cFileName);                 
if(!DeleteFolder(szFind))
return false;
}         
}         
else      
{  
char buf[500];
memset(buf0500);
strncpy(buflpPathstrlen(lpPath));
strcat(buf“\\“);
strcat(bufFindFileData.cFileName);
if(!DeleteFile(buf))//嵌套搜索删除
return false;
}         
if(!FindNextFile(hFind&FindFileData))    
break;     
}     
FindClose(hFind);
RemoveDirectory(lpPath);
return true;



bool DeleteDir(const char *pDir)
{
if (pDir == NULL) 
return false;
//判断是文件还是文件夹
struct _stat sfile;
    if(_stat( pDir &sfile)==0)
{
if (_S_IFREG&sfile.st_mode)
{
if(DeleteFile(pDir))
return true;
else return false;
}
if (_S_IFDIR&sfile.st_mode)
{

if(DeleteFolder((char *)pDir))
return true;
}
}
return true;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1792  2009-11-25 09:57  新建文件夹 (2)\deletedir.cpp

     文件        320  2009-11-25 10:16  新建文件夹 (2)\deletedir.h

     目录          0  2009-11-25 10:36  新建文件夹 (2)

----------- ---------  ---------- -----  ----

                 2112                    3


评论

共有 条评论