C语言中,如何编写指定文件夹读取所有文件的函数

我要依次读取一个文件夹中的所有文件,我想做一个外部函数,这样以后改变别的路径也可以用,如何才能做到呢?

第1个回答  推荐于2016-10-24
不是我写的 转来的 TC下或BC下
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#include <dos.h>
#include "conio.h"

#define ALL FA_RDONLY |FA_HIDDEN | FA_SYSTEM | FA_LABEL | FA_ARCH

void dirme(char * pfad);

void main()
{
clrscr();
dirme("c:\\*.*");
getch();
dirme("c:\\windows\\*.*");
getch();
}

void dirme(char * pfad)
{
struct ffblk block;
int ret;
int num=0;
for (ret=findfirst(pfad,&block,ALL);!ret; ret=findnext(&block))
{
printf("File%d : %s\n",num++,block.ff_name);
}

参考资料:CSDN

本回答被提问者采纳

C语言怎么读取某一文件夹下的所有文件夹和文件?
1、如果是在window环境下,可以用一下方法:使用stdlib.h头文件声明的system()函数,调用系统命令dir,把c:目录下文件列表写入文件dir.txt中 2、使用dirent.h头文件中声明的opendir(),readdir()函数;3、如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数:

C语言用fscanf()函数如何读取文件全部内容?
void read_txt(const char* Input, const char* Output){ FILE *fin = fopen(Input, "rb");\/\/以二进制读入 FILE *fout = fopen(Output, "w");unsigned char ch1,ch2;while(fscanf(fin, "%c%c", &ch1,ch2) != EOF){\/\/直到文件结束 fprintf(fout, "%d%d", ch1,ch2);\/\/以10进...

C语言如何读取文件?
打开箱子fp1,fp2,一次拿出1024个东西看一下,同时将他放到第二个箱子fp2里,至到箱子的东西完全拿出来,然后关闭两个箱子.例子都是差不多的,你看看stdlib中f还头的函数就可以了,但是在C中文件操作就是这样的:FILL *pf; \/\/声明指针,当然也可以是指针数组 FILE pf[2] 或 FILE **pf;pf =fopen(...

怎么用c++将一个文件夹中的所有的TXT文件同时读取,(文件名有规律)
使用for循环加文件操作函数即可读取txt文件当中的数组。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fsee...

用C语言编出遍历出某个目录以及其子目录下所有以TXT为扩展名的文本文件...
include "StdAfx.h"#include "FindFile.h"\/\/这里只是测试函数\/\/一般我们遍历文件都是有目的 同这个写类似病毒一些东西void Test(WIN32_FIND_DATA *fd){ MessageBox(0,fd->cFileName,0,0);}BOOL FindFile(char *pFileName, char * FindFileType){ WIN32_FIND_DATA fd; HANDLE hFind...

C语言:如何得到指定地址的文件夹中所有文件的文件名和其修改时间 包括...
俺前段时间写了段功能相似的程序,但用的是用C++\/STL写的,访问目录使用了win32 api(能访问指定目录的子目录)。获取文件名与修改时间由FileOfDirectory::detectFiles实现(其实你只需要看这一个函数即可)。这段程序以STL数组保存单个文件名,查询过程中没有回溯,wcsstr函数内部也是KMP,所以事实上这个...

c语言中怎样才能读出文件中的所有字符
用fread函数 可以整块读取。用fgets函数 可以整行读取 用fgetc函数,可以单个字符读取。根据需求,使用对应函数,同时配合循环 就可以读取整个文件了。比如 如果fp为文件指针。那么 int c;while((c = fgetc(fp)) != EOF);这样就可以遍历整个文件了。

怎样使用C语言列出某个目录下的文件
C语言本身没有提供象dir_list()这样的函数来列出某个目录下所有的文件。不过,利用C语言的几个目录函数,你可以自己编写一个dir_list()函数。首先,头文件dos.h定义了一个find_t结构,它可以描述DOS下的文件信息,包括文件名、时间、日期、大小和属性。其次,C编译程序库中有_dos_findfirst()和_dos...

C语言遍历所有文件的函数!
int ConfirmFileAttrib(char* filename);char *GetCurrentPath();char* GetFullFileName(char *filename);char *WillDeleteFile(char *FileName);\/\/--- \/\/--- 获得文件属性 --- \/\/--- int ConfirmFileAttrib(char* filename){ int temp...

VC环境中用C语言查找当前路径下的所有文件和文件夹的函数是什么?
这是我的TFTP程序中的一个函数,是搜索当前盘符下的所有文件,包括文件的大小,并发送到客户端,其中就有查找当前路径下的文件,你自己挑一下,应该能完成你的需求。void FileList(sockaddr_in sour_addr,char strStartDir[]){ char sendbuffer[1024];sockaddr_in destaddr;int sourlen = 0;int ret...

相似回答