趣文网 > 作文大全

送源码!C语言编程实例:一键清空目标文件夹|整人小程序

2020-12-02 16:25:02
相关推荐

不关注《一碳科技》?那么你会错过很多干货哦!

前言

今天的文章跟大家讲一下,C语言中的文件操作——遍历文件夹和删除文件,以及如何应用这两个技能来写一个有趣的小程序,这篇文章涉及的知识点很少,也很简单,所以这篇文章就当做给小白们的小教程吧,让你们每天都能充满激情地学习编程,摆脱学习C语言枯燥乏味的过程。

今天要教的东西很简单,所以就别害怕自己学不会啦,在之前的作品中,经常能看到诸如“好难”、“我学不会”、“我没天赋”等消极的留言,其实,说一句实话,C语言在所有编程语言中,是相对简单且最强大的一门编程语言,很多时候,学会C语言就相当于学会了其他编程语言,因为语言实现相通的。

废话就不讲那么多了,直接进入主题,上菜!

今天,我们围绕着“遍历文件夹”以及“删除文件”这两个话题,来实现我们的小程序,在今天的程序中,我们将会用到三个头文件,分别是stdio.h、io.h、string.h,其中,io.h对于大家来说可能会有点陌生,io.h包含了许多文件操作函数,而这些函数在我们刚开始的学习中是不经常用到的。除了这三个头文件之外,我们还会用到一个新的结构体——_finddata_t,简单来说,这个结构体就是用来存放文件信息的,例如文件大小、属性、名称等信息,在下面我们会详细讲到。

第一步

从上图可以看到,我们在整个程序中,只是构建了一个名为del()的函数,所以说,今天的文章读起来是特别的简单的。顾名思义,这个函数就是用来删除某种东西的,删除什么呢?注意看好,删除指定路径下特定类型的文件。在小编写的这个程序中,会自动遍历F盘中的EXE类型文件,并将它们全部删除,这个只是程序的主体,剩下功能的就靠你们自己点缀啦。

开始构建del()函数

首先创建一个存放路径的数组way[],和一个存放文件信息的_finddata_t结构体,在这个程序里,小编在生成可执行文件之前,就把想要删除的“指定路径”存入了way[]数组中,为什么呢?因为这样别人就看不到了呀!在这里要注意的是格式,例如指定的路径是F盘的根目录,我们要这样写:“F:”,总结起来的格式是这样的:“X:XXXX*.exe”。有些人可能问,这里的“*”符号是什么意思呢?

星号(*)其实是一个通配符,问号(?)也是一个通配符。这两个符号有什么作用呢?举一个你们熟悉的例子——模糊查找。星号可以代表0个或多个字符,怎么代表呢?请看,假如这里用love*来表示,那么love*这个词,对应的词有很多,例如:loveyou、loveme、lovelove等,为什么呢?因为*代替了后面的字符,不管后面的字符是什么。我们的程序中有这样一个语句——"F:*.exe",这行语句的意思就是F盘根目录下所有以.exe结尾的文件。

那么问号(?)又怎么解释?“?”和“*”差不多,只不过“?”只能代表一个字符。举个例子,在这几个词中:“abc”、“ahc”、“abcde”、“abcdef”,“a?c”只能代表“abc”和“ahc”,而不能代表剩下的两个。

▲第一次查找文件

首次查找文件我们要用_findfirst(),这个函数有两个参数,一个是查找的文件(可直接填文件路径),一个储存文件信息的结构体。查找文件我们直接"F:*.exe"代替,储存文件信息的结构体,我们用先前声明的_finddata_t结构体代替。

_finddata_t一共5个参数:

time_t time_create:保存从1970年1月1日0时0分0秒到现在时刻的秒数time_t time_access:文件最后一次被访问的时间。time_t time_write:文件最后一次被修改的时间。_fsize_t size:文件的大小。char name[_MAX_FNAME]:文件的文件名。

▲用while()循环遍历整个文件夹

在这里,我们用while()循环遍历了整个文件夹,并将文件名称传给remove()函数,这个函数是删除指定名称的文件(可以直接输入路径),删除之后又将路径初始化成"F:",重新使用_findnext()函数查找,_findnext()与_findfirst()稍有不同,_findnext()用在第一次查找,剩下的查找交给_findfirst(),程序末尾用_findclose()函数关闭文件。

如何获取源码?

先关注+转发,然后注意评论区,《一碳科技》会根据关注人数和转发数量来判断是否公布源码哦!

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

写人作文初一 平凡作文800字 英语导游作文 春游作文400 美景的作文300字 感谢朋友作文 800字满分作文 自我评价作文 怎么写议论文作文 宽容作文素材 疫情中考作文 干家务作文 初中精选作文 田园生活作文 幸福的作文800字 小学生600字作文 关于礼物作文 我的家园作文 感谢朋友 作文 写情感的作文 一节课的作文 春节的作文300 蝌蚪的作文 我的妈妈的作文怎么写 作文写事500字 高中作文金句 勇敢面对作文 九年级上册作文 疫情作文高考 那一次我真作文