fflush(标准输入) 在Ubuntu (Linux的)

lập trình c/c++ các bạn thường gặp phải hiện tượng trôi lệnh (máy không cho nhập dữ liệu). Để khắc phục tình trạng này thì bạn dùng lệnh ffulsh(标准输入) để xóa bộ đệm. Tuy nhiên trên Linux thì không có hàm này, bạn hãy thay thế nó bằng lệnh

__fpurge(标准输入);

Code ví dụ:

#include <stdio.h>	// io
#include <stdio_ext.h> // __fpurge(stdin);
int main() {
	int x;
	char s[100];
	
	// scan a number
	printf("enter number x = ");
	scanf("%d", &x);
	
	// clear stdin
	__fpurge(stdin);
	
	// scan a string
	printf("enter a string: ");
	gets(s);
	
	printf("number is %d \nstring is %s\n", x,s);
	return 0;
}
enter number x = 7826
enter a string: nguyen van quan
number is 7826 
string is nguyen van quan

Đọc thêm 得到() 和fget() 在C / C