vc删除文件夹
//功能: 删除非空目录文件夹
//输入: DirName 文件夹名
//输出: 删除是否成功
//功能: 迭代文件夹内文件,一个一个删除
BOOL DeleteDirectory(char *DirName)
{
CFileFind tempFind;
char tempFileFind[200];
sprintf(tempFileFind,"%s//*.*",DirName);
BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile();
if(!tempFind.IsDots())
{
char foundFileName[200];
strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
if(tempFind.IsDirectory())
{
char tempDir[200];
sprintf(tempDir,"%s//%s",DirName,foundFileName);
DeleteDirectory(tempDir);
}
else
{
char tempFileName[200];
sprintf(tempFileName,"%s//%s",DirName,foundFileName);
DeleteFile(tempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(DirName))
{
MessageBox("删除目录失败!","警告信息",MB_OK);
return FALSE;
}
return TRUE;
}
//输入: DirName 文件夹名
//输出: 删除是否成功
//功能: 迭代文件夹内文件,一个一个删除
BOOL DeleteDirectory(char *DirName)
{
CFileFind tempFind;
char tempFileFind[200];
sprintf(tempFileFind,"%s//*.*",DirName);
BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile();
if(!tempFind.IsDots())
{
char foundFileName[200];
strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
if(tempFind.IsDirectory())
{
char tempDir[200];
sprintf(tempDir,"%s//%s",DirName,foundFileName);
DeleteDirectory(tempDir);
}
else
{
char tempFileName[200];
sprintf(tempFileName,"%s//%s",DirName,foundFileName);
DeleteFile(tempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(DirName))
{
MessageBox("删除目录失败!","警告信息",MB_OK);
return FALSE;
}
return TRUE;
}
使用方法
if(PathFileExists(".//temp"))
DeleteDirectory((LPSTR)(LPCTSTR)".//temp");
DeleteDirectory((LPSTR)(LPCTSTR)".//temp");
".//temp"为要删除的文件夹路径,
使用 PathFileExists需要增加语句
#include "Shlwapi.h"
#pragma comment(lib, "shlwapi.lib. ") s