标签: 输入缓冲

关于C语言里清除输入缓冲

这个应该是个经常遇到的问题了,最近参与了C的比赛时又提起

常用的有fflush(stdin),不过这个实际上行为未定义,并且只在win下有效
同样还有rewind(stdin),自己是用都没用过,也不能跨平台。
在这种情况下,有linux爱好者推荐了跨平台setbuf(stdin,NULL),试了下,还是不得其要领
最后发现好用又不用动脑子的就两个:
while((c = getchar()) != '\n' && c != EOF)
scanf(“%*[^\n]%*c”)
看起来比较土但是的确很好用的说
阅读详细 »