C代码示例,把硬盘填满

hongwenjun 2012-08-30 01:04:14
#include <stdio.h>
#include <string.h>

const int KSize = 1024 * 1024;

int main(int argc, char* argv[])
{

int ch = 0;
if (argc > 1)
ch = *argv[1];
char filebuf[KSize];
memset(filebuf, ch, KSize);

FILE* pFile;
char filename[256] = {0};
filename[0] = ch;
if (argc == 1)
filename[0] = '0';

for (int f = 0 ; f != 1024 ; ++f) { // 测试文件可以只写5 测试 5个 512M的文件
sprintf(filename + 1, "%04d" , f);
pFile = fopen(filename , "wb");

for (int i = 0 ; i != 512; ++i) {
ch = fwrite(filebuf , 1 , sizeof(filebuf) , pFile);
if (ch == 0) {
while (ch = fwrite(filebuf , 1 , 1024 , pFile))
;
printf("不能再写了\n最后一个文件名%s\n", filename);
return 88;
}
}
printf("输出文件名: %s\n", filename);
fclose(pFile);

}
return 0;
}


...全文
315 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
晒月亮的幽灵 2012-09-04
  • 打赏
  • 举报
回复
运行报错,而且没看懂代码
菜呀。。。。。。。。。。
gfvera 2012-09-03
  • 打赏
  • 举报
回复
。。额,吓了我一跳。我还以为真是直接生成TXT或者别的填满文件夹呢。
skyworth98 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

不错啊!不过KSize命名为MSize更为恰当。
[/Quote]

sp............
duanrencai 2012-09-02
  • 打赏
  • 举报
回复
可伪装一下,做个捉弄人的东西!
zhaoZero41 2012-08-30
  • 打赏
  • 举报
回复
这个代码可以给闲的蛋疼的人玩玩。。
图灵狗 2012-08-30
  • 打赏
  • 举报
回复
体现出科学家的钻研精神,值得发扬光大!
sowhat_Ah 2012-08-30
  • 打赏
  • 举报
回复
这个是什么目的?仅仅是为了填满硬盘?
hongwenjun 2012-08-30
  • 打赏
  • 举报
回复
D:\XP_C>tt r:\atl\Zero\Zero.exe A
输出文件名: A0000
输出文件名: A0001
输出文件名: A0002
输出文件名: A0003
输出文件名: A0004
输出文件名: A0005
输出文件名: A0006
输出文件名: A0007
输出文件名: A0008
输出文件名: A0009
输出文件名: A0010
输出文件名: A0011
不能再写了
最后一个文件名A0012

Process returned 88 (0x58) execution time : 127.563 s
进程返回 88 (0x58) 执行时间 : 127.563 秒
请按任意键继续...


用一个盘符测试了,
图灵狗 2012-08-30
  • 打赏
  • 举报
回复
不错啊!不过KSize命名为MSize更为恰当。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧