c++stream与c stream同步的问题,请详细解释一下

ladybuug 2003-08-18 04:54:07
书上有这么一句:缺少情况下,c++stream(指cout,cin,cerr,clog吧)都要和标准
C stream保持同步。。。任何C++ stream缓冲区在改写数据以前都会刷新其对应的
C stream缓冲区。。
我不太理解这话,主要是不明白保持同步具体指的是什么,请各位指教。
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xueweizhong 2003-08-19
  • 打赏
  • 举报
回复
1:
预定义C++ IOSTREAM 缺省与C IOSTREAM同步。
如果想脱离关系,请在所有I/O调用前调用
sync_with_stdio(false);

2:
因为C++标准要求C++预定义流缺省与C预定义流同步,
所以C++预定义流直接在C预定义流的缓冲区上操作。

在同步时,C++预定义流的缓冲区是用C缓冲区实现的,
也就是说,C++预定义流和C预定义流使用的是同一个缓冲区。
在这种情况下,C++预定义流上的操作都将反映在C预定义流上。

3:如果你想了解更多情况可到 www.sgi.com上下载他们的IOSTREAM实现源码
查看一下。



ladybuug 2003-08-19
  • 打赏
  • 举报
回复
怎么没人知道吗?
oayaya 2003-08-18
  • 打赏
  • 举报
回复
我不知道为什么:任何C++ stream缓冲区在改写数据以前都会刷新其对应的
C stream缓冲区。。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧