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

相关文章

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

Flask解决指定端口无法生效问题

《Flask解决指定端口无法生效问题》文章讲述了在使用PyCharm开发Flask应用时,启动地址与手动指定的IP端口不一致的问题,通过修改PyCharm的运行配置,将Flask项目的运行模式从Fla... 目录android问题重现解决方案问题重现手动指定的IP端口是app.run(host='0.0.

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安