怎样用链表来存放文件名

cxh860815 2009-09-11 10:50:08
比如我用一个openButton函数中打开一个文件,里面有5个目标文件,我想把文件名存放到链表结构中,应该怎么做呢?
...全文
134 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxh860815 2009-09-12
  • 打赏
  • 举报
回复
哦 sorry没讲清楚 是用openbutton打开一个对话框,里面有几个文件,我需要把所有的文件名保存下来,然后进行其他的处理
jixingzhong 2009-09-12
  • 打赏
  • 举报
回复
一个例子:

利用链表实现目录内所有文件列表显示

#include <stdio.h>
#include <dirent.h>
/*#include <alloc.h>*/
#include <string.h>

void main(int argc,char *argv[])
{
DIR *directory_pointer;
struct dirent *entry;
struct FileList
{
char filename[64];
struct FileList *next;
}start,*node;
if (argc!=2)
{
printf("Must specify a directory\n");
exit(1);
}
if ((directory_pointer=opendir(argv[1]))==NULL)
printf("Error opening %s\n",argv[1]);
else
{
start.next=NULL;
node=&start;
while ((entry=readdir(directory_pointer))!=NULL)
{
node->next=(struct FileList *)malloc(sizeof(struct FileList));
node=node->next;
strcpy(node->filename,entry->d_name);
node->next=NULL;
}
closedir(directory_pointer);
node=start.next;
while(node)
{
printf("%s\n",node->filename);
node=node->next;
}
}
}
  • 打赏
  • 举报
回复
struct Node
{
char FileName[20];
Node * next;
}
Node* pHead;
int main()
{
pHead=new Node;
Node *pT=pHead;
Node * pN=NULL
strcpy(pHesd->FileName,"1.txt");
pN=new Node;
strcpy(pN->FileName,"2.txt");
pT->next=pN;
pT=pT->next;
pN=new Node;
strcpy(pN->FileName,"3.txt");
pT->next=pN;
pT=pT->next;
pN=new Node;
strcpy(pN->FileName,"4.txt");
pT->next=pN;
pT=pT->next;
pN=new Node;
strcpy(pN->FileName,"5.txt");
pT->next=pN;
pT=pT->next;
pN->next=NULL;

//应用链表
//......

for(int i=0 ;i<5;i++)
{
if(!pHead)
{
pT=pHead;
delete pT;
pHead=pHead->next;
}
}
return 0;
}







}
aopha 2009-09-11
  • 打赏
  • 举报
回复
遍历获取文件名
CFileFind
wensheng_zh2007 2009-09-11
  • 打赏
  • 举报
回复
楼主说的一个文件中含有五个文件,这个文件是不是一个目录?
mstlq 2009-09-11
  • 打赏
  • 举报
回复
一个文件里面包含5行数据,每行是一个文件名吧?
请用ifstream类以及getline函数
扔到链表里面……
请用list<string>
mstlq 2009-09-11
  • 打赏
  • 举报
回复
一个文件里面有5个目标文件

64,667

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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