我试图for使用2个嵌套循环打印结果std::cout.但是,结果不会立即打印到控制台,但会有延迟(在循环或程序完成后).
我不认为这种行为是正常的,在Windows打印下工作正常.该程序不使用线程.
哪里可能是问题?(Ubuntu 10.10 + NetBeans 6.9).
std::cout是一个流,它是缓冲的.您可以通过以下几种方式进行冲洗:
std::cout.flush();
std::cout << std::flush;
std::cout << std::endl; // same as: std::cout << "\n" << std::flush`
Run Code Online (Sandbox Code Playgroud)
我使用std :: endl在循环之前刷新缓冲区.当打印代表循环内处理数据的百分比的点时出现问题.
如果您刷新缓冲区之前的周期,不影响输出的周期.您必须在循环中或之后进行冲洗,以查看输出.