gpt4 book ai didi

C++ 控制 cout 何时刷新

转载 作者:太空宇宙 更新时间:2023-11-04 11:24:19 27 4
gpt4 key购买 nike

正如标题所暗示的,我正在寻找一种方法,让 cout 只有在我明确告诉它时才“刷新”自己。我知道这可以通过“缓冲”我们要写入 stringstringstream 的内容来实现,但我正在寻找最有效的方法.

此外,如果能够吃掉此缓冲区中的尾随换行符,那就太好了。我见过将 \b 写入 cout 的解决方案;但是我很确定这是不可靠的,因为冲洗(如果我错了请纠正我)。

最佳答案

不使用 stringstream ,你最好的选择是防止导致自动刷新的两种最常见的方式:当你输出一些东西时以及当你显式调用 << std::endl 时。 .您可以通过设置 unitbuf 来停用第一个 std::ios_base::fmtflags 的标志.但是,这不太可能在遇到新行时停止自动刷新。如果您的操作系统决定它需要在每个 \n 刷新一次角色,您无能为力(在标准 C++ 方面)。

因此我建议手动缓冲。

关于C++ 控制 cout 何时刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27213092/

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