01/10/2018, 22:36
fflush(stdin) trong ubuntu (linux)
fflush(stdin) trong ubuntu (linux) Tháng Bảy 2, 2016 nguyenvanquan7826 LT C - C++ 3 responses Khi 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 ...
fflush(stdin) trong ubuntu (linux)
Khi 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(stdin) để 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(stdin);
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 string is %s ", 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 gets() and fget() in C/C++