stdin

FBIq 2006-02-25 09:57:40
ungetc('a',stdin);getchar();//向缓冲区写入a,再读出
printf("%c",*stdin->_base);//为什么此时a还在缓冲区?
...全文
647 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
FBIq 2006-02-25
  • 打赏
  • 举报
回复
接着问个问题:fflush(stdin);
getchar();//向输入流写入abcd,getchar()读取了a
fflush(stdin);//清空了输入流缓冲
printf("%s",stdin->_ptr);//指针的指向的是a
//指针指向了a为什么这句不能读出?printf("%d",getchar());
printf("%s",stdin->_base);//清空了输入流缓冲,按我的理解缓冲里面应该没有东西了?
sankt 2006-02-25
  • 打赏
  • 举报
回复
我想楼主应该清空了缓冲区了
fflush(stdin);
FBIq 2006-02-25
  • 打赏
  • 举报
回复
已解决,谢谢

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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