CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

如何得到C:\盘或某目录(包含子目录)下的所有文本(.txt)文件?

楼主ukyozhou(ukyo)2002-08-13 10:25:07 在 C++ Builder / 基础类 提问

如何得到C:\盘或某目录(包含子目录)下的所有文本(.txt)文件的文件名称? 问题点数:100、回复次数:4Top

1 楼ukyozhou(ukyo)回复于 2002-08-13 10:42:59 得分 0

gzTop

2 楼kingcaiyao(aking)回复于 2002-08-13 10:53:35 得分 0

这是个老问题,用FindFirst/FindNext/FindClose写一个递归函数,你可以搜索遍地都是.Top

3 楼jishiping(JSP 季世平)回复于 2002-08-13 10:57:48 得分 70

void   GetTxtFile(AnsiString   Path,   TStrings*   List)  
  {  
          TSearchRec   sr;  
          AnsiString   Ext;  
           
          if   (Path[Path.Length()]!='\\')  
                  Path   +=   '\\';  
          if   (FindFirst(Path+"*.*",faAnyFile,sr)!=0)  
                  return;  
          do   {  
                  if   (sr.Attr   &   faDirectory)   {  
                          if   (sr.Name[1]=='.')  
                                  continue;  
                          GetTxtFile(Path+sr.Name,   List);  
                  }  
                  else   {  
                          Ext   =   ExtractFileExt(sr.Name);  
                          if   (!strcmpi(Ext.c_str(),".txt"))  
                                  List->Add(Path+sr.Name);  
                  }  
          }while(FindNext(sr)==0);  
          FindClose(sr);  
  }  
   
  //调用的例子,   将所有C:\及所有子目录下的.txt文件放到ListBox1中  
  ListBox1->Items->Clear();  
  GetTxtFile("C:\\",   ListBox1->Items);Top

4 楼kingcaiyao(aking)回复于 2002-08-13 10:59:32 得分 30

写出代码:  
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
      TSearchRec   sr;  
      if   (FindFirst("c:\\*.txt",   faAnyFile,   sr)   ==   0)  
      {  
          do  
          {  
                ListBox1->Items->Add(sr.Name);  
                ListBox1->Items->Add(sr.Size);                  
          }   while   (FindNext(sr)   ==   0);  
          FindClose(sr);  
      }  
  }  
   
  Top

相关问题

  • 谁有删除子目录的源程序?C或C++的都行
  • 请问C#中怎么拷贝一个文件夹包括子目录?
  • c#读取TXT文本的问题>>>>
  • 如何在linux下用c/c++边编程实现文件夹下所有子目录文件的遍历?
  • SOS:查询目录及其子目录下的指定类型的文件。(用C实现,UNIX下),先谢了!
  • 如何在C++ Builder删除一个目录下的所有子目录和所有文件
  • 在C++Builder中如何copy一个文件夹下的所有子目录和文件?
  • 简单问题:怎样删除目录c:\temp下的所有文件及其子目录?(在线)
  • 怎么把指定目录下(包括子目录)所有的txt文件读取到一个text控件中?
  • 很怪的问题:CreateDir('C:\temp')这是例子,可以实现.但CreateDir('C:\temp\xxx')就有问题???????难道只能建一层子目录??????

关键词

  • 文件
  • 子目录
  • sr
  • listbox1
  • gettxtfile
  • findfirst
  • findclose
  • findnext
  • 所有
  • txt

得分解答快速导航

  • 帖主:ukyozhou
  • jishiping
  • kingcaiyao

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo