vc2008下,cout如何在endl时,才真正地输出?

中才德创 2009-05-18 09:05:34
如何做到?
cout << "Hello"; // 此行屏幕不要输出
cout << endl; // 此行屏幕才输出
...全文
249 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoujianaaaaa 2010-07-08
  • 打赏
  • 举报
回复
学习中
operatingtuzi 2009-05-18
  • 打赏
  • 举报
回复
一直放到缓存里?不会

用stringstream先都写到内存 需要的时候在输出呢
kingstarer 2009-05-18
  • 打赏
  • 举报
回复
cout碰上endl就会刷新缓冲
kiffa 2009-05-18
  • 打赏
  • 举报
回复
iostream 默认应该就是这样吧。。。将输出结果保持在缓冲区中,满足一定条件了再输出到实际设备。。。

cout << "hello";
while(1);
cout << endl;


屏幕将不会输出hello,而是一直保持死循环状态。

若是:
cout << "hello" << endl;
while(1);
cout << endl;

则输出hello后,才保持死循环。

以上是gcc的结果,vc8如何处理不知道。。。
arong1234 2009-05-18
  • 打赏
  • 举报
回复
这似乎是不可能的,cout似乎没有留这种控制给你。而且这种需求真的存在么?如果你一定要控制特定时刻才输出,为什么不一次性在内存中格式化好了,再一次输出呢?
lingyin55 2009-05-18
  • 打赏
  • 举报
回复

if( getchar() == '\n' )
cout << "Hello";
liliangbao 2009-05-18
  • 打赏
  • 举报
回复
缓冲区中遇到换行符或者endl时自动输出缓冲区中的内容,而不等缓冲区满~

65,211

社区成员

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

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