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
bạn cho mình hỏi hàm trên sử dụng thư viện gì vì mình build trên thư viện của ubuntu nó ko chạy được.
Nó nằm trong thư viện stdio_ext.h nhé bạn
多谢兄弟!
thưa anh >< anh có thể giải thích vì sao đc ko ạ
Vì sao cái gì bạn?