请问怎样遍历同一目录下的所有相同类型的文件?(不用win-API更好)

gully 2002-03-17 12:17:36
不 用 _findfirst 和 _findnext 能实现吗?
...全文
47 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xboy 2002-03-17
  • 打赏
  • 举报
回复
不 用 _findfirst 和 _findnext 当然能实现,
但是对于不同的语言有不同的可调用函数,
有的只要几条语句就够了。
但是用c写的东西可以拖离平台!
要不然,你用c写好然后再反汇编成汇编代码,那不就是最底层的么!
gully 2002-03-17
  • 打赏
  • 举报
回复
TO mathe() 同感
有更底层的么?
mathe 2002-03-17
  • 打赏
  • 举报
回复
太依赖于操作系统了。
SlaSk 2002-03-17
  • 打赏
  • 举报
回复
——————————————————————
if( ikaoDailog::m_Patch != NULL)
{
szDirectory = ikaoDailog::m_Patch;
}
——————————————————————
这段代码与该函数无关。。。
SlaSk 2002-03-17
  • 打赏
  • 举报
回复
LPCTSTR szDirectory = "G:\\mark";//更改为你想查找的目录,或者你用个参数;
if( ikaoDailog::m_Patch != NULL)
{
szDirectory = ikaoDailog::m_Patch;
}
CStringArray AllFiles;
CFileFind cFileFind;
CString strWildcard(szDirectory);

strWildcard.TrimRight("\\"); // Slow but sure ...
strWildcard += "\\*.*";//类型更改一下。
BOOL bWorking = cFileFind.FindFile(strWildcard);

unsigned short cWork = 0;
while (bWorking)
{

bWorking = cFileFind.FindNextFile();
if (cFileFind.IsDots())
continue;

// Add to list
CString str = cFileFind.GetFilePath();
AllFiles.Add(str);
MessageBox(AllFiles[cWork],AllFiles[cWork]);
cWork++;

//if (cFileFind.IsDirectory())
//OnRecurseSubdirectories (str, AllFiles);
}
cWork = 0;
cFileFind.Close();







————————————————
以上代码忘记谁给我的了,总之不是我自己写的。
jishiping 2002-03-17
  • 打赏
  • 举报
回复
用 opendir readdir closedir

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧