首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这段代码从mfc工程移植到控制台工程为什么就不行了呢?该如何解决

2012-02-08 
这段代码从mfc工程移植到控制台工程为什么就不行了呢?boolDeleteDirectory(char*sDirName){CFileFindtempF

这段代码从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 "

热点排行