參考鏈接:
C語言讀取指定文件夾下的所有文件(各種信息)_c語言讀取文件夾下的所有文件-CSDN博客?文章來源:http://www.zghlxwxcb.cn/news/detail-834267.html
參考以上文案,做成了幾個函數(shù),用于讀取任意文件夾下的指定后綴的文件。文章來源地址http://www.zghlxwxcb.cn/news/detail-834267.html
#include <stdio.h>
#include <io.h>
#include <direct.h>
void loadfile_scanf(char *dirname,char* next,char* kind,char **msg)
{
//文件存儲信息結(jié)構(gòu)體
struct _finddata_t fileinfo;
//保存文件句柄
long fHandle;
//文件數(shù)記錄器
char dirpath[100];
strcpy(dirpath,dirname);
if(access(dirpath,0)==-1) // 檢查文件夾是否存在,不存在為 -1
{
mkdir(dirpath);
return;
}
else
{
int i = 0; // 記錄文件數(shù)量
char kindpath[100];
strcpy(kindpath,dirpath);
strcat(kindpath,next);
strcat(kindpath,kind);
if( (fHandle=_findfirst( kindpath, &fileinfo )) == -1L ) // *是通配符,默認(rèn)在當(dāng)前文件夾內(nèi)查找文件,這里查找 .png 文件
{
printf( "當(dāng)前目錄: %s 下沒有 txt 文件\n",dirname);
return ;
}
else
{
FILE *fp;
char test[100]=""; // 存儲讀取到的數(shù)據(jù)
char path[100];
do
{
i ++;
printf( "找到文件:%s,文件大小:%d bit\n", fileinfo.name,fileinfo.size);
strcpy(path,dirname);
strcat(path,next);
strcat(path,fileinfo.name);
fp=fopen(path,"r");
fscanf(fp,"%s\n",test);
printf("已接收內(nèi)容:%s\n",test);
fclose(fp);
strcpy(msg[i],test);
}
while( _findnext(fHandle,&fileinfo)==0);
}
//關(guān)閉文件
_findclose( fHandle );
printf("文件數(shù)量:%d\n",i);
}
}
void showmsg(char** msg,int num)
{
for(int i=1; i<num; i++)
if(strcmp(msg[i],"")!=0)
printf("show num:%d : %s\n",i,msg[i]);
}
void flushmsg(char** msg,int num)
{
for(int i=0; i<num; i++)
{
strcpy(msg[i],"");
}
}
void loadfile(char **msg)
{
char brick[100]="birck_6_family";
char ground[100]="ground_7_family";
char change[100]="change_8_family";
char trick[100]="trick_9_family";
char next[100]="./";
char png[100]="*.txt";
loadfile_scanf(brick,next,png,msg);
showmsg(msg,10);
flushmsg(msg,10);
loadfile_scanf(ground,next,png,msg);
showmsg(msg,10);
flushmsg(msg,10);
loadfile_scanf(change,next,png,msg);
showmsg(msg,10);
flushmsg(msg,10);
loadfile_scanf(trick,next,png,msg);
showmsg(msg,10);
flushmsg(msg,10);
}
int main()
{
int num=10;
char **msg;
msg=new char* [num];
for(int i=0; i<num; i++)
{
msg[i]=new char[100];
strcpy(msg[i],"");
}
loadfile(msg);
return 0;
}
到了這里,關(guān)于C語言讀取文件夾一級子目錄的指定類型文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!