extern "C" bool DeleteDirectory(char* sDirName)
{
CFileFind tempFind;
char sTempFileFind[MAX_PATH];
{
CFileFind tempFind;
char sTempFileFind[MAX_PATH];
sprintf(sTempFileFind, "%s\\*.*", sDirName);
BOOL IsFinded = tempFind.FindFile(sTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();
BOOL IsFinded = tempFind.FindFile(sTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();
if (!tempFind.IsDots())
{
char sFoundFileName[MAX_PATH];
strcpy(sFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));
{
char sFoundFileName[MAX_PATH];
strcpy(sFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));
if (tempFind.IsDirectory())
{
char sTempDir[MAX_PATH];
sprintf(sTempDir, "%s\\%s", sDirName, sFoundFileName);
DeleteDirectory(sTempDir); // 嵌套函数
}
else
{
char sTempFileName[MAX_PATH];
sprintf(sTempFileName, "%s\\%s", sDirName, sFoundFileName);
DeleteFile(sTempFileName); // DeleteFile(sTempFileName)貌似也行的
}
}
}
tempFind.Close();
if (!RemoveDirectory(sDirName))
{
return FALSE;
}
return TRUE;
}
{
char sTempDir[MAX_PATH];
sprintf(sTempDir, "%s\\%s", sDirName, sFoundFileName);
DeleteDirectory(sTempDir); // 嵌套函数
}
else
{
char sTempFileName[MAX_PATH];
sprintf(sTempFileName, "%s\\%s", sDirName, sFoundFileName);
DeleteFile(sTempFileName); // DeleteFile(sTempFileName)貌似也行的
}
}
}
tempFind.Close();
if (!RemoveDirectory(sDirName))
{
return FALSE;
}
return TRUE;
}