您的位置:首页 > 其它

printf写入标出输出的缓冲区刷新条件

2015-05-15 15:08 148 查看
printf缓冲区刷新条件:

    1 缓冲区填满

    2 写入的字符中有‘\n’ '\r'

    3 调用fflush(stdout)手动刷新缓冲区

    4 调用scanf要从缓冲区中读取数据时,也会将缓冲区内的数据刷新

  printf为例,在printf的实现中,在调用write之前加入了IO缓冲区,这是一个用户空间的缓冲,首先要说明一点,系统调用是软中断,频繁调用,需要内核频繁陷入内核态,这样的效率不是很高,而printf实际是向用户空间的IO缓冲写,在满足条件的情况下才会调用write系统调用,这样也就提高了内核的效率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  printf