请教大家c++很多cout 怎么快速转换成全部写入文件

请问大家c++很多cout 如何快速转换成全部写入文件。


请问大家很多cout 如何快速转换成全部写入文件。

c++
比如 


自己定义了一个函数:

void test()
{
double a;
string b;

写了很多别的code 然后
 cout<< a<<" show c++ code"<<"/n"<<b;
然后又隔了许多代码。
又来 一些连续的 
cout<<c<<" show c++ second " <<"/n"<< ff;
cout<<"what ? "

。。。。。。。。。。。
}

void main()
{

然后main 函数中 
也有
cout<< stringl<<"This is main "<<endl<<ffe;


隔了很多代码
然后调用上面的含有 cout的 void test()
函数;
test()


之后隔了很多代码

cout<<stirngbbd<<"this is main second"<<end<<bdvalue;
cout<<bos<<"test "<<end;
连续的很多cout
}


1:
请问原来都是显示在屏幕上面,请问c++中要用什么代码才能快速转换全部写入文件中?
希望所有的写入都是直接接在之前写过的句子之后写。
就是不覆盖原来的句子。接着写 的 话如何快速修改?

要是想覆盖原来的句子又要如何修改呢?

是不是每个cout前面都要加上 打开文件的命令?
可否创建文件,打开文件的命令就写一次呢?

2
 c++中如何新建一个文件,然后打开一个文件。然后写入一个文件。 格式如何?


3:

c++ 中如何控制写入文件的时候是接着写还是从头写? 
请问如何控制从某一行开始写?
如何控制从某一行某一句开始写?

4如何控制跳转到文件中的某一行,然后找到某个单词,替换成别的内容? 或者从某处开始添加句子呢?

谢谢大家帮助。



 
谢谢帮助。


------解决方案--------------------
如果程序没有输入的话,直接用输出重定位就行。
如果你的程序叫a.exe,那么就在cmd里面输入
a.exe >c:\result.txt

什么都不用更改,原来屏幕输出的东西就全到txt里了
------解决方案--------------------
用惯了cout,而且程序中需要等待用户输入的话。
建议使用ofsream,搜索一下它的用法吧,跟cout很像^_^
------解决方案--------------------
http://blog.csdn.net/qinlicang/archive/2009/07/07/4327189.aspx
------解决方案--------------------
2
c++中如何新建一个文件,然后打开一个文件。然后写入一个文件。 格式如何? 

FILE* fo;
fo = fopen("c.txt","a");
fprintf(fo,"test");
fclose(fo);

最简单的新建一个文件,然后打开一个文件。然后写入一个文件。
------解决方案--------------------
不覆盖原来的句子的话,只要在main的第一句那里加上
freopen("out.txt","w",stdout);
就可以了。
------解决方案--------------------
在程序里面直接重定向stdout!
stdout的文件描述符是1
调用
int fd = open("file_path", O_CREAT|O_RDWR)
dup2(fd, 1);

这样标准输cout出就全部到你指定的文件中去了!
------解决方案--------------------

可以在程序的开始,打开一个文件, 然后使用下面的语句可以将cout定向到文件中去.假设文件名称是"log.txt"

 std::ofstream logFile("log.txt");
 std::streambuf *outbuf = std::cout.rdbuf(logFile.rdbuf());

 这样,你程序的所有使用 cout的输出都会写到 log.txt文件中.

 程序结束的地方,要将cout恢复:
 std::cout.rdbuf(outbuf);

------解决方案--------------------
我上面说的方法是把所有的cout的输出定向到文件中去,不包括printf等输出.上面的8楼的方法:

freopen("log.txt", "w", stdout);

也是一个好办法。不过它是将所有的stdout(包括 cout及 printf)的输出都定向到文件中去了。
------解决方案--------------------
直接用命令行,重定向就行,有输入也是可以的,你还可以开两个文件一个用于输入一个用于输出,在自已的程序中不用加入任何其它的代码,应该是比较方便的,不过它是会覆盖的,不覆盖的方法还不清楚。至于在程序中加代码fopen,楼上几位已经说得差不多了,就不凑热闹了^_^