c/c++ 标准输入输出缓冲区刷新

在一次编写用QProcess接收程序运行结果的代码中,发现可执行程序使用print cout等打印运行结果,如果不加换行符就打印不出结果后来查阅网上资料得知,换行符的作用就是刷新缓冲区,因此添加缓冲区刷新代码即可或者直接关闭缓冲区.

刷新方式:

fflush(stdout)
setbuf(stdout, NULL);
setvbuf(stdout, (char *)NULL, _IONBF, 0);//直接关闭缓冲区

关于输入输出缓冲区的问题,有如下参考链接:

猜你喜欢

转载自blog.csdn.net/robothj/article/details/80447857