怎么才能随机提取一个d:\gif目录下的所有*.gif文件名。

soona 2003-05-30 02:15:19
怎么才能随机提取一个d:\gif目录下的所有*.gif文件名。
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsloyes 2003-07-11
  • 打赏
  • 举报
回复
我定义的一个函数,将一个目录下所有文件,加到一个TStringList中;
void GetFileList(AnsiString aPath,AnsiString aFileName,TStringList *FileNameList)
{
TSearchRec Sr;
if(FindFirst(aPath+aFileName,faArchive,Sr)==0)
{
FileNameList->Clear();
FileNameList->Add(Sr.Name);
while (FindNext(Sr)==0)
FileNameList->Add(Sr.Name);
FindClose(Sr);
}
}
调用时,支持文件过滤,如果你要用gif,则调用时
TStringList *MyFileList =new TStringList;
GetFileList("C:\",*.gif,MyFileList);
读出gif时
for(int i=0;i<MyFileList->Count;i++)
//做你要做的
//GifName=MyFileList->->Strings[i];
)
zywx 2003-05-30
  • 打赏
  • 举报
回复
来晚了
loking 2003-05-30
  • 打赏
  • 举报
回复
up
shally5 2003-05-30
  • 打赏
  • 举报
回复
#include <stdlib.h>
#include <stdio.h>


TSearchRec sr;
AnsiString RandFileName;
TStringList *MyFileList =new TStringList;
int iAttributes = 0;
iAttributes |= faArchive;
// iAttributes |= faAnyFile;
if (FindFirst("c:\\gif\\*.gif", iAttributes, sr) == 0)
{
do
{
if ((sr.Attr & iAttributes) == sr.Attr)
{
MyFileList->Add("c:\\gif\\"+sr.Name);
}
} while (FindNext(sr) == 0);
FindClose(sr);
}
RandFileName=MyFileList->Strings[rand()%MyFileList->Count];

13,825

社区成员

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

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