fflush(stdin)问题?
在linux上fflush(stdin);没有效果,linux下该如何清除输入缓冲区的数据呢?
while (TRUE)
{
int c;
char cmdbuf[4];
fgets(cmdbuf,4,stdin);
//网上查资料看到可以循环调用getchar()清空缓冲区数据。
while((c = getchar()) != '\n' && c != EOF);
//但是如果fgets(cmdbuf,4,stdin);读完了数据的话,比如只输了2个字符。
//getchar又会在这里会等待输入。
//应该怎么做啊???我只想让fgets每次读数据,没读完的数据都丢弃,getchar这里不等待输入。
printf("%s\n",cmdbuf);
}