CFileFind的问题


void DeleteDirectory(CString& str){
    CString path(str);
    path
+=CString(TEXT("//*.*"));
    CFileFind finder;
    BOOL isFind
=(BOOL)finder.FindFile(path);
   
while(isFind){
        isFind
=finder.FindNextFileW();
       
if(!finder.IsDots()){
           
if(finder.IsDirectory()){
                wcout
<<finder.GetFilePath().GetBuffer(200)<<endl;
                finder.GetFilePath().ReleaseBuffer();
                DeleteDirectory(finder.GetFilePath());
            }
           
//DeleteFile(finder.GetFilePath());
            wcout<<finder.GetFilePath().GetBuffer(200)<<endl;
            finder.GetFilePath().ReleaseBuffer();   
        }
    }
    finder.Close();
}
            CFileFind ff;
            CString str;
           
if(ff.FindFile(CString(TEXT("*.*")))){
                ff.FindNextFileW();
                str
=ff.GetFilePath();
            }
            ff.Close();
            DeleteDirectory(str);



问题是:为什么如果我的输入目录含有汉字,就有问题呢?
比如,如果我获得的str为D://win32或MFC代码,最后只有输出D://win32

我是再觉得自己写的代码带太多的工程文件,不利于备份,想写一个删除不必要的工程文件的时候产写的上面的代码,可是老出错,请大牛指教

 

回复于:2009-12-13 23:23:41

可能与你问题无关,你为什么要GetBuffer?cout

 

回复于:2009-12-13 23:25:30

请google“wcout 无法输出中文”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值