共有回帖数 0 个
-
fflush(stdin):某硬 的扩展
setbuf(stdin,NULL):不要逗
rewind(stdin):不要闹
int c ; while((c = getchar()) != 'n') ; :读取到'n'停止。看起来很好,但是问题在于,它总是会读取一个字符,如果当前缓冲区已经是空的,那么就会等待输入。如何实现符合标准的fflush(stdin)的效果?
一种改进的方法是
if(/*已经为空*/) /*什么也不做*/;
else { int c;while((c = getchar()) != 'n')) }
我真正想问的是, 如何判断输入缓冲区为空?
不要提feof这货了,getchar()之流会等待一个输入,怎么到达EOF?让我手动ctrl+z吗
如果feof可以,请务必告诉我怎么写。
楼主 2015-06-29 23:27 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知