Olejan Asked:2020-09-07 22:37:18 +0000 UTC2020-09-07 22:37:18 +0000 UTC 2020-09-07 22:37:18 +0000 UTC 如何将 cout 输出复制到文件 772 你好! 我正在使用 Google 测试来测试 C++ 代码。需要将 Google 测试输出到控制台的内容保存到文件中。这里的重点不是将 cout 重定向到文件,而是将控制台中的输出保存到文件中。任何想法如何在代码中做到这一点? c++ 2 个回答 Voted Best Answer Mark Shevchenko 2020-02-13T01:23:40Z2020-02-13T01:23:40Z 您需要为std::ostream. 谷歌发现了这个实现 #include <iostream> #include <fstream> #include <string> using namespace std; class composite_ostream: public ostream { public: composite_ostream(ostream& stream1,ostream& stream2): ostream(0), s1(stream1), s2(stream2) { } template<class object> composite_ostream& operator<<(object o) { s1 << o; s2 << o; return *this; } inline composite_ostream & operator<<(ostream& (*__pf)(ostream&)) { s1 << __pf; s2 << __pf; return *this; } private: ostream& s1; ostream& s2; }; int main() { ofstream f; f.open("console.txt"); composite_ostream co(cout, f); co << "Some text..." << endl; f.close(); } 我把它复制在这里,这样如果原来的网站突然消失了,它就不会丢失。 更新添加了问题作者用户@Olejan 建议的用法示例。 Ackbar 2020-09-08T12:19:21Z2020-09-08T12:19:21Z 我遇到了很长时间 - conio.h gettext() 函数。 char *pText; pText=new char[(dx+2)*6]; gettext(x,y,x+dx+1,y+2,pText); 告诉我这不是你需要的。
您需要为
std::ostream. 谷歌发现了这个实现我把它复制在这里,这样如果原来的网站突然消失了,它就不会丢失。
更新添加了问题作者用户@Olejan 建议的用法示例。
我遇到了很长时间 - conio.h gettext() 函数。
告诉我这不是你需要的。