查找文件 查找某个目录下以特定字母开头的文件,不包括子目录,如以test开头怎么作,要高效 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFileFind fs; bool b=fs.FindFile("C:\\test*");while (b){ b= fs.FindNextFile(); if ( !fs.IsDirectory() && !fs.IsDots() ) { //处理 }} CStringArray strarray;GetFiles( _T("c:\\test*.*", strarray );HRESULT GetFiles(const CString& strWildcard, CStringArray& strArrayFiles ){ HRESULT hr = E_FAIL; CFileFind finder; // build a string with wildcards BOOL bWorking = finder.FindFile(strWildcard); while (bWorking) { bWorking = finder.FindNextFile(); // skip . and .. files; otherwise, we'd // recur infinitely! if (finder.IsDirectory()) { continue; } strArrayFiles.Add( finder.GetFilePath() ); // if it's a directory, recursively search it } finder.Close(); return S_OK;} FindFirstFileFindNextFile用上面的两个API吧。在参数的WIN32_FIND_DATA结构体中应该可以实现楼主说的那些规则。 void GetFileList(CString path,CString token,CStringArray &files){ CFileFind finder; CString strWildcard; strWildcard =path+ _T("\\*.*"); // start working for files BOOL bWorking = finder.FindFile(strWildcard); while (bWorking) { bWorking = finder.FindNextFile(); // skip . and .. files; otherwise, we'd // recur infinitely! if (finder.IsDots()||finder.IsDirectory()) continue; CString fileName=finder.GetFileName(); if(fileName.Find(token)!=-1) { files.Add(fileName); } } finder.Close();} windows media player 滚动条 请教VC6的DSW文件格式? 新手DX问题 memset的用法? 近来开发一车载系统,利用的是征求界面方案! 您好,问一个问题(汗颜) 谁知道,有oracle培训资格的公司,哪一个比较好,花公家钱当然要选好的和贵的了 帮忙看看这段ASP调用有什么问题? 关于GetItemRect与SetWindowPos的用法 哪位好心人解释一下 c++/CLR dll调用问题(一个很神奇的问题,望解答) CDHtmlDialog有没有类似SendMessage的函数? 一段代码的疑问
bool b=fs.FindFile("C:\\test*");
while (b)
{
b= fs.FindNextFile();
if ( !fs.IsDirectory() && !fs.IsDots() )
{
//处理
}
}
CStringArray strarray;
GetFiles( _T("c:\\test*.*", strarray );
HRESULT GetFiles(const CString& strWildcard, CStringArray& strArrayFiles )
{
HRESULT hr = E_FAIL;
CFileFind finder; // build a string with wildcards
BOOL bWorking = finder.FindFile(strWildcard); while (bWorking)
{
bWorking = finder.FindNextFile(); // skip . and .. files; otherwise, we'd
// recur infinitely! if (finder.IsDirectory())
{
continue;
} strArrayFiles.Add( finder.GetFilePath() );
// if it's a directory, recursively search it
} finder.Close(); return S_OK;
}
FindNextFile用上面的两个API吧。
在参数的WIN32_FIND_DATA结构体中应该可以实现楼主说的那些规则。
void GetFileList(CString path,CString token,CStringArray &files)
{
CFileFind finder; CString strWildcard;
strWildcard =path+ _T("\\*.*"); // start working for files
BOOL bWorking = finder.FindFile(strWildcard); while (bWorking)
{
bWorking = finder.FindNextFile(); // skip . and .. files; otherwise, we'd
// recur infinitely! if (finder.IsDots()||finder.IsDirectory())
continue; CString fileName=finder.GetFileName();
if(fileName.Find(token)!=-1)
{
files.Add(fileName);
} } finder.Close();
}