缓冲区的问题

CHZiroy 2012-01-09 08:50:34
int main()
{
cout << "接下来进行缓冲区的一个小实验 " << endl;
char a,b;
a = getchar();
cout << a ;
cout << endl;
b = getchar();
cout << b;
system("pause");
return 0;
}
如上面的代码,运行后如下

接下来进行缓冲区的一个小实验
a
a
请按任意键继续. . .
我知道输入a后按(换行),这两个缓冲区的字节第一个会被a读取,第二个是换行,会被b读取到,所以也就不用去再输入b的值,,,但是!但是!,我在输出a后,又插入了一个输出endl;的语句,这个语句不是可以刷新缓冲区吗?这个时候不是缓冲区刚才剩下的“换行”不也没了吗?为什么还会被b得到????
...全文
41 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-01-09
  • 打赏
  • 举报
回复
楼主把缓冲区想的太神奇太抽象了... 请把想法落回到地球表面, 理解缓冲区在编写C程序时候是怎么实现的以及getchar函数与FILE结构体的联系...

64,683

社区成员

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

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