这段代码从mfc工程移植到控制台工程为什么就不行了呢?
bool 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;
}
在mfc工程中这段代码是可以工作的,可是在控制台工程中编译通过后,仍然不行
为什么呢?如果不用mfc中的类,在控制台工程中能够实现删除一个文件夹中的所有文件的操作吗?
[解决办法]
CFileFind 是MFC的类,如果你不用MFC的话,可以使用API
FindFirstFile
FindNextFile
[解决办法]
CFileFind 是MFC才有的吧,在控制台用其他的函数
[解决办法]
建一个带mfc的控制台项目
[解决办法]
CFileFind 是 mfc 都 api 的封装,你在控制台上要用
需要到入mfc的这些类
把#include <windows.h> 去掉
加入
#include "afx.h "