C++ IO缓冲区刷新方式

endl 它完成换行并刷新缓冲区的工作;

flush 刷新缓冲区,但不输出任何额外的字符;

ends 向缓冲区中插入一个空字符,然后刷新缓冲区:
cout << "hi!" << endl;

cout << "hi!" << flush;

cout << "hi!" << ends;

如果想在每次输出操作后都刷新缓冲区,我们可以使用unitbuf操作符。它告诉流在接下来的每次写操作后都进行一次flush操作。而nounitbuf操作符则重置流,使其恢复使用正常的系统管理的缓冲区刷新机制:

cout<<unitbuf; //所有输出操作后都会立即刷新缓冲区

cout<<nounitbuf; //回到正常的缓冲方式

上一篇:127、cout和printf有什么区别?


下一篇:mysql 错误号码1129