首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言中怎么读取同1个文件夹下的所有文件

2012-03-15 
C语言中如何读取同1个文件夹下的所有文件?在C语言中能够读取同一个文件夹下的多文件么?在文件名无规律的情

C语言中如何读取同1个文件夹下的所有文件?
在C语言中能够读取同一个文件夹下的多文件么?在文件名无规律的情况下如何读取?高手帮忙解决下这个问题   谢谢谢谢^_^

[解决办法]
啥下面都要遍历文件
FindFirstFile
FindNextFile
[解决办法]
有两个运行库的函数可以搞定_findfirst,_findnext
[解决办法]
恩,_findfirst,_findnext不错...
[解决办法]
Dev C++ 测试通过:利用链表实现目录内所有文件列表显示

#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;
}
}
}
[解决办法]
函数名称: findfirst
函数原型: int findfirst(char *fname,struct ffblk *ptr,int attrib)
函数功能: 寻找与fname相匹配的第一个文件名称
函数返回:
参数说明: ptr-保存查找到的文件信息
所属文件: <dir.h>

#include <stdio.h>
#include <dir.h>
int main()
{
struct ffblk ffblk;
int done;
printf( "Directory listing of *.* ");
done=findfirst( "*.* ",&ffblk,0);
while (!done)
{
printf( "%s ", ffblk.ff_name);
done=findnext(&ffblk);
}
return 0;
}
--------------------------------------------
函数名称: findnext
函数原型: int findnext(struct ffblk *ptr)
函数功能: 寻找与fname相匹配的第一个文件名称
函数返回:
参数说明: ptr-保存要查找到的文件信息
所属文件: <dir.h>

#include <stdio.h>
#include <dir.h>
int main()
{
struct ffblk ffblk;
int done;
printf( "Directory listing of *.* ");
done=findfirst( "*.* ",&ffblk,0);
while (!done)
{
printf( "%s ", ffblk.ff_name);
done=findnext(&ffblk);
}
return 0;
}

热点排行