gpt4 book ai didi

c++ - 在 std::ofstream (c++) 中复制 std::cout

转载 作者:行者123 更新时间:2023-12-02 10:00:19 31 4
gpt4 key购买 nike

我目前正在尝试制作一个非常基本的“日志记录系统”,我想将 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

最佳答案

你不能一边吃蛋糕一边吃。每个流对象只能绑定(bind)到一个缓冲区,std::cout不会倒退(您可以对其进行写入,但不能从中读取)。
因此,虽然您可以重定向 cout转到任何其他流,这仅对发生的输出有效之后 重定向。您绝对没有办法强制打印到 cout 的数据。 之前 出现在任何其他流中现在 ,除非您有办法重新创建数据或从其他存储(不是 cout)中提取数据。

关于c++ - 在 std::ofstream (c++) 中复制 std::cout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62924928/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com