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

小弟我的遍历CF读取文件名的程序,有有关问题,大家帮看一下

2012-03-11 
我的遍历CF读取文件名的程序,有问题,大家帮看一下voidCSoundMenuDlg::LoadLogData(){CStringFileNameHAND

我的遍历CF读取文件名的程序,有问题,大家帮看一下
void   CSoundMenuDlg::LoadLogData()
{
        CString   FileName;
HANDLE   hFind;
WIN32_FIND_DATA   findfile;
TCHAR   SourceDir[]=_T( "\\Storage   Card ");
hFind   =   FindFirstFile   (SourceDir,&findfile);
if   (hFind   !=INVALID_HANDLE_VALUE)
{
do  
{
FileName   =   findfile.cFileName;
if   (!(findfile.dwFileAttributes   &   FILE_ATTRIBUTE_DIRECTORY))
{
strName=FileName;
strName=strName.Right(strName.ReverseFind( '. '));
}
}  
while   (::FindNextFile   (hFind,   &findfile));
::FindClose   (hFind);
}
}
其中strName是全局变量,现在用AfxMessageBox(strName)都显示空的(当然,我的CF卡不是空的),郁闷呢,大家帮忙看看,谢谢!    
个人觉得问题可能出在TCHAR   SourceDir[]=_T( "\\Storage   Card ");   或strName=FileName;     ,    
                    strName=strName.Right(strName.ReverseFind( '. '));    
但找不到:(

[解决办法]
我想你是路径除了问题,应该是

hFind = FindFirstFile(L "\\Storage Card\\* ",&findfile);

另外得到的文件名是Unicode的,必须转换

可以使用WideCharToMultiByte函数

热点排行