您的位置:首页 > 其它

printf函数缓冲区问题

2015-12-29 19:36 337 查看
printf是一个行缓冲函数,先写到缓冲区,满足条件后,才将缓冲区刷到对应文件中,刷缓冲区的条件如下:

1.缓冲区填满
2.写入的字符中有‘\n’ '\r'
3.调用fflush手动刷新缓冲区
4.调用scanf等要从缓冲区中读取数据时,也会将缓冲区内的数据刷新


在多线程程序中尤其值得注意,fork时,缓冲区也被fork,要是之前缓冲区没有被刷新过的话,缓冲区中的内容依然存在,在子进程中再次调用printf就会出现自己不想要的输出。

相关链接:

/article/1460321.html

/article/1419224.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: