请问,如何列举一个目录下的所有文件以及文件夹?

keikai 2001-09-05 03:27:54
Thanks......
...全文
96 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangledong 2001-09-05
  • 打赏
  • 举报
回复
到网上找找吧,不过自己编也不麻烦。
keikai 2001-09-05
  • 打赏
  • 举报
回复
谢谢,给分。
还有,有没有什么类似TDirectoryListBox的控件可以直接把目录里面的文件以及文件夹给列出来。
chen_pb 2001-09-05
  • 打赏
  • 举报
回复
不错,我正需要这个
抬头看路 2001-09-05
  • 打赏
  • 举报
回复
TSearchRec sr;
int iAttributes = faAnyFile | faDirectory;
if(FindFirst(Path + "*.*", iAttributes, sr) == 0)
{
do
{
if((sr.Attr & iAttributes) == sr.Attr)
if(sr.Attr & faDirectory)
是个目录
else
是个文件
}while (FindNext(sr) == 0);
FindClose(sr);
}
wangledong 2001-09-05
  • 打赏
  • 举报
回复
这是我编的一个删除文件的函数,你看看吧!
void __fastcall TForm1::FoundInfFile ( String Dir)
{
TSearchRec sr;
int iAttributes = 0;
iAttributes |= faAnyFile;
if ( FindFirst( Dir+"*.*", iAttributes, sr) == 0 )
{
try{
do{
if ( sr.Name == "." || sr.Name == ".." )
continue;
if ( sr.Attr == faDirectory )
FoundInfFile ( Dir+sr.Name+"\\" );//找到一个目录
else
{
StatusBar1->Panels->Items[1]->Text = Dir + "\\" + sr.Name;
Application->ProcessMessages();
DeleteFile ( Dir + "\\" + sr.Name );//删除文件
}
Application->ProcessMessages();
}while ( FindNext ( sr ) == 0 );
StatusBar1->Panels->Items[1]->Text = Dir;
Application->ProcessMessages();

RemoveDirectory ( Dir.c_str() );//删除子目录
FindClose(sr);
}
catch(...){
FindClose(sr);
}
}
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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