C++ endl

缓冲区,这个东西怎么说呢,举个例子吧:
假如你要向一个文件写东西
文件是存储在硬盘里的
如果每写一个字符就输出到文件
那么每一次字输出字符就是一次I/O操作
都知道I/O操作比较费时
如果我们增加一个缓冲区(在内存中的一块区域)
每次写一个字符时先写到缓冲区
然后我们再刷新缓冲区时
缓冲区的内容就是写到文件中
这时只执行一次I/O操作
相比每写一个字符就操作一次I/O要节省许多时间
endl的功能包含了回车换行和刷新缓冲区
但'/n'就只有回车换行的功能
希望我的答案对你有用
 

不是刷新,是冲刷。
以缓冲方式打开一个文件时,往文件里写几个字节,一般不会立即真正把这几个字节写入文件,只有当缓冲区满时才真正写盘。如果想在缓冲区满之前写盘保存,可以做冲刷缓冲区动作。下列行为引发冲刷动作:
1)缓冲区满时;
2)行输出时遇endl;
3)执行冲刷函数(好像叫fflush);
4)关闭文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值