由于cout<<输出内容默认是在屏幕,但是实际工作我们希望这样的信息输出到文件中,从而方便定位问题:
解决的办法就是将cout信息重定向到文件中:具体可以参照下面的例子进行演示:
#include < iostream>
#include < fstream>
using namespace std;
int main(int argc, char* argv[])
{
ofstream of(“/Users/zhangyi/test/out.txt”);//输出cout信息的文件
streambuf* fileBuf = of.rdbuf();// 获取文件out.txt流缓冲区指针
cout.rdbuf(fileBuf);// 设置cout流缓冲区指针为out.txt的流缓冲区指针
//此时cout出来的信息就会重定向到/Users/zhangyi/test/out.txt文件中
cout << “Name ” << “zhangyi” << endl;
cout << “Sex ” << “male” << endl;
cout << “E-mail”<< “xxx@qq.com” << endl;
of.flush();
of.close();
return 0;
}
这样当执行完这个程序后,在目录/Users/zhangyi/test/下out.txt文件就存放了刚刚cout的信息。