众所周与,你所要输出的内容会先存入缓冲区,而flush()的作用正是强行将缓冲区的数据清空。这样在你关闭读写流时,就不会丢失数据。
ends函数:终止字符串,即在末尾加入“\n”。
flush函数:刷新缓冲区。
endl函数:终止一行并刷新缓冲区。
可以看出,endl函数与flush的区别在于endl还进行了一步换行操作。
示例:
int main()
{
using namespace std;
cout << "a" ;
cout << "b" <<ends;
cout << "c" <<endl;
cout << "e" << flush;
cout << "f" << flush;
cout << "g" ;
cout << "h" <<ends;
cout << "i" << flush;
cout << "j" <<endl;
return 0;
}
结果
ab c
efgh ij
转自
https://blog.csdn.net/u013240812/article/details/20618883