[英]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.