龙空技术网

无视杀软!C语言硬盘炸弹:瞬间生成上万个文件,附源码!

硬核林妹妹 7267

前言:

眼前看官们对“c语言读取大文件”都比较注重,小伙伴们都需要知道一些“c语言读取大文件”的相关内容。那么小编同时在网络上收集了一些关于“c语言读取大文件””的相关文章,希望朋友们能喜欢,同学们一起来学习一下吧!

我叫杰瑞,是一名编程高手,经常发表一些有趣的编程教学文章,喜欢的小伙伴赶紧关注我吧!

硬盘炸弹

各位美丽帅气的粉丝们好久不见啦,学期末临近,杰瑞也是忙得不可开交呀,持续断更了好几天,好在杰瑞及时地将所有任务做完了,今天杰瑞就给大家带来一份大礼!什么大礼呢?且往下看

杰瑞今天给大家带来一个硬盘炸弹小程序教程以及程序源码。先来跟大家说说这个程序的功能,它的功能很简单,就是在后台运行并将计算机的硬盘填满,杰瑞经过测试,发现在程序运行的过程中杀毒软件并没有报警,而是任由它继续“胡作非为”,那么这款软件如何制作呢?杰瑞今天就一步步来教大家制作这个软件!

一步步教学

第一步当然是先打开我们的编译器啦,杰瑞使用的是微软的VS,这里就用VS作为标准制作这个软件。首先我们建立一个新的项目,在项目选项里面选择windows应用程序,然后点击空项目并点击完成。其他不同版本的VS也一样,自行体会。

新建项目

项目建立完成之后,我们就开始添加我们的源文件,一般来说我们直接添加cpp文件就可以了,首先右键点击源文件,紧接着点击添加新建项,最后选择cpp文件,文件名随便你取。如下图是杰瑞建立好的文件结构图↓

编写代码

在编写功能代码之前我们先引入几个头文件,分别为stdio.h、stdlib.h、string.h,第一个头文件大家都认识吧?这里主要是要用到里面的文件操作函数,而第三个是用来处理字符串的。

然后呢,我们可以使用一个数组来存储我们要写入硬盘的垃圾数据,这里杰瑞就简单一点了,直接储存一串字符串。

准备工作做好了,我们现在开始来编写功能代码。首先我们申请一个FILE类型的变量,这个变量在打开文件的时候要用到,然后再申请两个变量a、b用于循环写入数据。杰瑞给大家讲讲a、b变量的作用,a变量实际上是为了使我们生成的垃圾文件名称不会发生重复,a变量在循环中是无限递增的,所以每一个循环中生成的文件名称都是不重复的,b变量是为了让每一个循环中生成的垃圾文件体积变大,也就是不断地向同一个文件写入垃圾数据,具体原理可以查看源码,源码很简单你们一看就会了!

拼接文件名

杰瑞现在给大家一步步讲解代码的作用。图中itoa()函数的主要作用是将一个int类型的数字转化为相对应的“数字”字符串,然后我们将这个字符串拼接到文件名的末尾处,这一样一来我们生成的垃圾文件名称就不会重复了,在最后,我们将文件后缀“.txt”拼接到文件名称末尾,为什么要这么做呢?为了能让“被轰炸”用户看到我们留在文本里面的信息,是不是很炫酷啊(开个玩笑)。

开始生成垃圾文件

在图中我们可以看到while循环中的a变量是不断增加的,而在while循环里面还有一个循环,里面这个循环是为了增大单个垃圾文件体积而设置的。这里我们用fopen()以“a”方式打开一个文件,当我们要以a方式打开一个文件的时候,如果这个文件不存在就会新建一个,如果存在就会在原文件的末尾追加数据。fopen()函数的打开方式还有好几种,想要了解的小伙伴可以百度一下,上面有很详细的解释。

以上是这个程序的比较核心的几个地方,剩下的都是比较简单的东西了,我相信各位肯定能看懂对吧?图中的数组复制函数和数组初始化函数都需要自行编写,具体代码可查看源代码。

源码获取方式

关注《编程高手杰瑞》并点赞文章,然后私信关键字:“硬盘炸弹源码”即可看到源码地址,以下是完整源码的截图↓

标签: #c语言读取大文件