c++中cout输出不显示怎么办?
在linux命令行下可以输出,但是第三方程序调用的时候就不输出了,请问是什么原因?
网友回复
这是由于cout的缓存造成了,有两种办法
第一、强制缓存输出
std::cout << "test" << std::flush; // std::flush is in <iostream> 或 std::cout << "test"; std::cout.flush(); // explicitly flush here 或 std::cout << "test" << std::endl; // endl sends newline char(s) and then flushes第二种、不缓存
std::setvbuf(stdout, NULL, _IONBF, 0);或运行c++程序的时候加入以下参数
stdbuf -o 0 ./yourprogram --yourargs