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
哎
我是再觉得自己写的代码带太多的工程文件,不利于备份,想写一个删除不必要的工程文件的时候产写的上面的代码,可是老出错,请大牛指教
可能与你问题无关,你为什么要GetBuffer?cout
|
请google“wcout 无法输出中文”
|