专栏首页诸葛青云的专栏C语言编程实例:清空对方应用程序

C语言编程实例:清空对方应用程序

前言

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

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

小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:870963251!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

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

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

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

开始构建del()函数

首先创建一个存放路径的数组way[],和一个存放文件信息的_finddata_t结构体,在这个程序里,小编在生成可执行文件之前,就把想要删除的“指定路径”存入了way[]数组中,为什么呢?因为这样别人就看不到了呀!在这里要注意的是格式,例如指定的路径是F盘的根目录,我们要这样写:“F:\”,总结起来的格式是这样的:“X:\XX\XX\*.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()函数关闭文件。

原文链接:https://www.jianshu.com/writer#/notebooks/28627489/notes/33470913

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 同事想盗取我邮箱几个G的种子,我用Python守护我的邮箱!

    偶然一次机会被室友看到我邮箱的密码,我就感觉兜不住了,他一直想要看,像我这种花了长时间沉淀下来的东西,怎么可能拱手相让呢?于是他就想盗取我的邮箱,那我只能用Py...

    诸葛青云
  • 程序猿用C语言写给女友的一封情书

    一程序猿用C语言写给女友的一封情书,代码很简单,就是全部用宏定义进行替换,但是以为引用了中文,需要Unicode码的支持,能在VS2005及其以上版本编写调试 ...

    诸葛青云
  • C语言概述归纳整理

    2.一个c程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何,最后在main函数中结束。

    诸葛青云
  • 小程序-云开发-实现生成小程序码

    小程序因为传播快,易分享,现已经成为各大小公司的标配,从曾今你有公众号么,变为你有小程序么?可想而知小程序的火爆程度

    itclanCoder
  • RTMP视频推流功能组件EasyRTMP-HIK DEMO版本运行报错排查及解决方法

    TSINGSEE青犀视频在视频流媒体开发行业深耕多年以来,不仅开发了轻便稳定的流媒体平台EasyNVR、EasyCVR等,还开发了一些视频推流或者同屏的辅助组件...

    TSINGSEE青犀视频
  • “我的小程序”来了 新版微信v6.7.1下拉就能找到

      今天iOS版微信迎来v6.7.1正式版发布,本次升级主要是可以把常用的小程序添加到“我的小程序”。近期版本微信可以直接浏览订阅号的消息,扫一扫可拍照翻译整页...

    ytkah
  • 结合腾讯云开发微信小程序

    目前,微信小程序越来越流行,而且功能越来越强大,在性能方面也越做越好。因为能够原生调用小程序提供的组件和 API ,小程序的开发快捷,使用方便,越来越多的产品...

    用户2970331
  • 出国旅游语言不通?这款小程序,实时给你当翻译 | 亲儿子 #7

    随着微信团队的不断努力,小程序也变得日益完善。小程序以其方便的使用条件、更低的开发门槛吸引了很多人。

    知晓君
  • 无聊走开!这 10 款小程序,陪你开心陪你玩 | 晓榜

    要是对身材没自信,不妨用「闪电健身 Mini」定制一个私人健身计划,临时补救补救。

    知晓君
  • 工作总是做不完?这 4 款时间管理小程序,让你做个效率狂人

    很多人都曾经因为一时的热情,给自己制订了远大的计划。但是由于拖延症和懒癌,预定的计划总是没法完成,走上人生巅峰遥遥不可期。

    知晓君

扫码关注云+社区

领取腾讯云代金券