C语言读取文件夹一级子目录的指定类型文件

2024-02-19 15:12

本文主要是介绍C语言读取文件夹一级子目录的指定类型文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考链接:

C语言读取指定文件夹下的所有文件(各种信息)_c语言读取文件夹下的所有文件-CSDN博客 

参考以上文案,做成了几个函数,用于读取任意文件夹下的指定后缀的文件。

#include <stdio.h>
#include <io.h>
#include <direct.h>
void loadfile_scanf(char *dirname,char* next,char* kind,char **msg)
{//文件存储信息结构体struct _finddata_t fileinfo;//保存文件句柄long fHandle;//文件数记录器char dirpath[100];strcpy(dirpath,dirname);if(access(dirpath,0)==-1)								// 检查文件夹是否存在,不存在为 -1{mkdir(dirpath);return;}else{int i = 0;																	// 记录文件数量char kindpath[100];strcpy(kindpath,dirpath);strcat(kindpath,next);strcat(kindpath,kind);if( (fHandle=_findfirst( kindpath, &fileinfo )) == -1L ) 					// *是通配符,默认在当前文件夹内查找文件,这里查找 .png 文件{printf( "当前目录: %s 下没有 txt 文件\n",dirname);return ;}else{FILE *fp;char test[100]="";														// 存储读取到的数据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("已接收内容:%s\n",test);fclose(fp);strcpy(msg[i],test);}while( _findnext(fHandle,&fileinfo)==0);}//关闭文件_findclose( fHandle );printf("文件数量:%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;
}

这篇关于C语言读取文件夹一级子目录的指定类型文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725063

相关文章

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python中异常类型ValueError使用方法与场景

《Python中异常类型ValueError使用方法与场景》:本文主要介绍Python中的ValueError异常类型,它在处理不合适的值时抛出,并提供如何有效使用ValueError的建议,文中... 目录前言什么是 ValueError?什么时候会用到 ValueError?场景 1: 转换数据类型场景

Python读取TIF文件的两种方法实现

《Python读取TIF文件的两种方法实现》本文主要介绍了Python读取TIF文件的两种方法实现,包括使用tifffile库和Pillow库逐帧读取TIFF文件,具有一定的参考价值,感兴趣的可以了解... 目录方法 1:使用 tifffile 逐帧读取安装 tifffile:逐帧读取代码:方法 2:使用

C# dynamic类型使用详解

《C#dynamic类型使用详解》C#中的dynamic类型允许在运行时确定对象的类型和成员,跳过编译时类型检查,适用于处理未知类型的对象或与动态语言互操作,dynamic支持动态成员解析、添加和删... 目录简介dynamic 的定义dynamic 的使用动态类型赋值访问成员动态方法调用dynamic 的

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四:

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]