fflush()在Linux中不起作用
我在Linux GCC中使用了fflush(),但是没有用。该功能还有其他选择吗?这是我的代码:
#include<stdio.h>void main()
{
char ch='y';
while(ch=='y')
{
int a;
printf("Enter some value:");
scanf("%d",&a);
fflush(stdin);
printf("Do you want to continue?");
scanf("%c",&ch)
}
我得到的输出是:
Enter some value: 10
然后程序结束。就这样。我可以在Linux中做什么?有替代功能吗?
回答:
不要使用fflush,而是使用以下函数:
#include <stdio.h>void clean_stdin(void)
{
int c;
do {
c = getchar();
} while (c != '\n' && c != EOF);
}
fflush(stdin)
取决于实现,但是此功能始终有效。在C中,使用是不当做法fflush(stdin)
。
以上是 fflush()在Linux中不起作用 的全部内容, 来源链接: utcz.com/qa/417455.html