ends,flush,endl 用法区别

来源:互联网 发布:酷狗音乐 mac 编辑:程序博客网 时间:2024/05/29 13:43
ends函数 终止字符串flush函数 刷新缓冲区endl函数 终止一行并刷新缓冲区#include <iostream>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 cefgh ij
flush() 是把缓冲区的数据强行输出, 主要用在IO中,即清空缓冲区数据,一般在读写流(stream)的时候,数据是先被读到了内存中,再把数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先flush()。

1 0