Khi dùng std::cin.get(char a).get(char b); thì làm sao để xóa được bộ đệm ạ?

e sử dụng hàm cin.get như sau

char a,b,c;
std::cin.get(a).get(b).get©;
thì sau khi nhập kí tự đâu tiền, nó sẽ tồn lại dấu enter trong bộ đệm,nhưng trường hợp này k thể dùng
fflush(stdin) hay cin.ignore(n) thì làm sao để xóa được bộ đệm ạ?
Do hàm cin.get() trả lại tham chiếu tới cin nên có thể viết các phương thức nhập này liên tiếp trên một đối tượng cin nhưng lại k thể xóa được bộ đệm?

cin.get(a).ignore().get(b).ignore().get(c);

Bạn thử dùng thế này xem sao.

1 Like
cin.sync();

thử xem nha, cái này khá dễ nhớ :smiley:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?