【发布时间】:2016-12-23 11:56:21
【问题描述】:
我有多个正在打印的 .cpp 文件,我想将其重定向到一个字符串。我的项目的结构是:一个主文件,它从另一个文件和另一个文件调用函数。如果我有一个 .cpp 文件,使用 stringstream 很容易,但如果有多个文件,我该如何解决?
Main.cpp:
#include "Second.h"
int main() {
std::string buffer = "First line";
printOut(buffer);
std::cout << "Hello world" << std::endl;
}
第二个.h:
#include <string>
void printOut(std::string buffer);
第二个.cpp
#include "Second.h"
void printOut(std::string buffer) {
std::cout << buffer << std::endl;
}
在这种情况下,字符串应该如下所示:
redirectedString = First line\nHello World\n
【问题讨论】:
-
请添加“它不起作用”的原因。
-
无论你想做什么,这都是完全错误的做法。您要解决的真正问题是什么?不,不是您在这里问的问题,而是您认为这是解决方案的真正问题。
-
真正的问题是我不知道如何检查输出缓冲区中是否有东西以及如何从那里抓取它。
-
@J.Devero 你为什么需要这样做?记录?
-
您自己的程序/进程的输出还是其他的?如果它是不同的,您无法更改尝试在运行时将输出重定向到文件?
标签: c++ stdout io-redirection