gpt4 book ai didi

c++ - std::cout 缓冲区什么时候可以非空?

转载 作者:太空宇宙 更新时间:2023-11-04 14:08:50 26 4
gpt4 key购买 nike

例如,我在 here 中看到了 cout.rdbuf() .这意味着,流 cout 有一个与之关联的流缓冲区,在我们刷新它之前它是非空的。

但是,我如何才能在 cout 被刷新之前查看 cout 的流缓冲区?

cout << "I want to read this before this get flushed";
cout.UnknownFunction(); //this would save the buffer into a string variable
cout << flush;

但在当前的代码形式中,第一行之后的所有内容都将刷新到屏幕上..

那么,什么样的构造允许我窥视 cout 缓冲区的内部?

附言。我在 windows7 上运行 VC++ 2010

最佳答案

我认为这不会在第一行之后刷新,但我绝对不确定。我遇到了endl flush,其他的没有,可能是字符太多自动flush了,不知道。我(不小心)创建了一个这样的程序(简而言之):

cout << "x";
while (true) {}

程序运行了这个,输出是调试的,但它没有为我写任何东西,所以我认为程序没有到达那里......

关于c++ - std::cout 缓冲区什么时候可以非空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718593/

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