Linux c如何清除标准输入缓存区数据
我用setbuf(stdin,NULL)和setvbuf(stdin,NULL,_IONBF,0)都么有用...
我用setbuf(stdin,NULL)和setvbuf(stdin, NULL, _IONBF, 0)都么有用
展开
展开全部
gcc可以用fgets或者其他函数将缓冲区数据读出来清除输入缓冲区。gcc不支持用fflush清除输入缓冲区,标准上也没有定义,但是vc是可以的。
看一下这个:http://blog.csdn.net/thecorr/article/details/1922541
和这个:http://liustb.blog.163.com/blog/static/133708019201131111471597/
看一下这个:http://blog.csdn.net/thecorr/article/details/1922541
和这个:http://liustb.blog.163.com/blog/static/133708019201131111471597/
展开全部
flush(stdin);
更多追问追答
追问
这个不行,还是没有清空缓存区数据
追答
写错了,应该是fflush(两个f)。
NAME
fflush, fpurge -- flush a stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdio.h>
int
fflush(FILE *stream);
int
fpurge(FILE *stream);
fflush不行的话试试fpurge。还是不行的话,详细描述下你要做什么,以及示例程序。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询