[英]Copy std::cout inside a std::ofstream (c++)
我目前正在尝试制作一个非常基本的“日志记录系统”,我想将 std::cout 内容复制到 std::ofstream 中以制作“日志”文件以打印我发送到 cout 的内容。
std::cout << "[LOG] My log message\n";
std::cout << "[LOG] My log message2\n";
std::ofstream s("Log.txt");
//std::cout >> s; ????????????
这就是我尝试这样做但没有成功的方式。 我希望 Log.txt 有:
[LOG] My log message
[LOG] My log message2
你不能一边吃蛋糕一边吃。 每个 stream object 只能绑定到单个缓冲区,并且std::cout
不 go 向后(可以写入,但不能读取)。
因此,虽然您可以将cout
重定向到 go 到任何其他 stream,但这仅对重定向后发生的 output 有效。 您绝对没有办法强制之前打印到cout
的数据现在出现在任何其他 stream 中,除非您有办法重新创建数据或从其他存储(不是 cout)中提取数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.