查找一个目录下面具有相同扩展名的所有文件。问题是第一次CFileFind::GetFileTitle()的结果居然为空,而以后的都正常。不知道为什么?请大侠指点。我的代码如下:
void CFindfileDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
CString fileName = m_dir +_T("\\")+ m_type; CFileFind finder;
BOOL isWorking = finder.FindFile(fileName);
m_msg = _T(""); while(isWorking)
{
CString file = finder.GetFileTitle();//第一次循环时file=_T("")!,以后的都正常,请大侠指点!
m_msg += file;
m_msg += _T("\r\n");
UpdateData(FALSE);
isWorking = finder.FindNextFile();
}
// CDialog::OnOK();
}
void CFindfileDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
CString fileName = m_dir +_T("\\")+ m_type; CFileFind finder;
BOOL isWorking = finder.FindFile(fileName);
m_msg = _T(""); while(isWorking)
{
CString file = finder.GetFileTitle();//第一次循环时file=_T("")!,以后的都正常,请大侠指点!
m_msg += file;
m_msg += _T("\r\n");
UpdateData(FALSE);
isWorking = finder.FindNextFile();
}
// CDialog::OnOK();
}
解决方案 »
- linux下关于库冲突的问题该怎么解决呢。
- 分割窗口之后,想在一个view中的最上边加上一个工具条
- 列表框里面有若干文件,现要求编一函数,把所有文件的内容合并,保存成一个文件?????
- 求助,如何将一个double型变量转变成一个CString型的变量?
- LoadLibrary加载DLL的问题
- 推荐一个VC++群
- 我的网卡是不是有问题?无法自动取得router所分配的IP,但通过指定IP却可以上网,没有问题?
- 请问如何实现让用户自动下载网页上包含的控件
- 希望各位大虾救救小弟,怎样获得字段的名称???急啊!!
- 怎样重用一个线程
- 为什么我的打印机只能打印单页,设定打印页数就不能打印?
- 关于MFC,LOG文件,EXCEL之间的关系问题?
CString path="d:\\temp\\*.*";
CString strFileName, strSuffix, strFilePath;
int nIndex;
CString strAVI;
BOOL bIsFinded =(BOOL)tempFind.FindFile( path );
while( bIsFinded )
{
bIsFinded = (BOOL)tempFind.FindNextFile();
if( !tempFind.IsDots() )
{
strFileName = tempFind.GetFileName();
nIndex = strFileName.ReverseFind('.');
strSuffix = strFileName.Mid(nIndex+1);
strSuffix.MakeUpper();
if ( strSuffix=="AVI" )
{
strAVI = strFileName;
}
}
}
tempFind.Close();
FindFile只是查看有没有合适的文件。并不直接得到文件,相当于获取一下符合范围的文件是否大于0个。而FindNextFile才是逐个获取这些文件。