【问题标题】:How to capture output from console c++ (from cout) [duplicate]如何从控制台c ++(来自cout)捕获输出[重复]
【发布时间】:2019-09-29 07:49:55
【问题描述】:

我正在尝试使用一个程序,该程序从程序控制台接收各种输出,并希望以后能够处理它。我也试过自己研究这个,但大多数人都保留缓冲区,使其无法打印。是否必须打印到文件也没关系。我还想逐行读取输出等文件。

using namespace std;

sbuffer;//This would be the code to capture the c++ console output

cout << "This is a test sentence" << endl;
cout << "Second sentence" << endl;
cout << "Third" << endl;

sbuffer.close() //close the buffer

read = sbuffer 
for(int i = 0; i < read.length(); i ++){
   print(read[i]) // prints out each line. 

}

【问题讨论】:

  • 对不起,我听不懂你的英文……你想把其他程序的输出读到你自己的程序中以便以后处理这些输出吗?或者您想处理来自 shell 的所有输出,并在两者之间进行用户交互?
  • 我需要从同一个程序中读取控制台输出。如果这有助于您了解我想要实现的目标,我将通过 clion 完成这一切。
  • 什么是“相同”程序?生成输出的程序应该读取它自己的输出还是你的程序应该读取另一个程序的输出?顺便说一句:如果您回复评论,则应添加 @ 以便评论的发起者收到通知
  • "产生输出的程序应该读取它自己的输出"

标签: c++


【解决方案1】:

只需使用Files and Streams

包含库

#include <fstream>

然后以写入模式打开一个文件。

ofstream outfile;
outfile.open("xyz.dat");
outfile <<YOUR_OUTPUT<< endl;
outfile.close();

【讨论】:

  • 我试过这段代码,但 cout 没有进入文件。
  • 对不起。错字。现在再试一次。我已经修好了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
  • 2021-05-06
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
相关资源
最近更新 更多