相关疑难解决方法(0)

std :: flush如何工作?

有人可以解释(最好用简单的英语)如何std::flush工作?

  • 它是什么?
  • 你什么时候冲洗一条小溪?
  • 它为什么如此重要?

谢谢.

c++ stream

68
推荐指数
4
解决办法
5万
查看次数

c ++ force std :: cout flush(打印到屏幕)

我有以下代码:

std::cout << "Beginning computations..."; // output 1
computations();
std::cout << " done!\n";                  // output 2
Run Code Online (Sandbox Code Playgroud)

然而,问题是输出#1和输出#2经常(几乎)同时出现.也就是说,输出#1通常直到computations()返回后才会打印到屏幕上.由于输出#1的整个目的是指示某些事情在后台发生(从而鼓励用户耐心),因此这个问题并不好.

有没有办法强制std::cout缓冲区在computations()通话前打印?或者,是否有其他方式(使用其他东西std::cout)打印到标准输出,可以解决这个问题?

c++ cout flush

31
推荐指数
2
解决办法
3万
查看次数

std :: cout不会打印

有什么情况什么时候std::cout << "hello"不起作用?我有ac/c ++代码,但是std::cout不打印任何东西,甚至不是常量字符串(例如"hello").

有没有办法检查是否cout能够/无法打开流?还有像一些成员函数good(),bad()...但我不知道哪一个是适合我.

c++ debugging buffer iostream cout

20
推荐指数
4
解决办法
5万
查看次数

std :: cout是缓冲的吗?

只是阅读"斯科特迈耶斯"的一篇古老但有趣的文章

http://aristeia.com/Papers/C++ReportColumns/novdec95.pdf

基本上它是关于宁愿使用'\n'std::endl(我同意,并使用相同的扩充年).

但是最后一部分表明这不包含在他的书中,因为整个事情由于两点而变得没有实际意义:

  1. std::cout 没有缓冲.
  2. ios::unitbuf未明确定义on std :: cout 的状态(因此依赖于实现).

我做了一个快速查看,但找不到明确的标准参考1是真的.是否std::cout与我一直以来的理解相反?

c++ cout

20
推荐指数
3
解决办法
6355
查看次数

标签 统计

c++ ×4

cout ×3

buffer ×1

debugging ×1

flush ×1

iostream ×1

stream ×1