Chào mọi người!
Em có code đoạn code dưới đây để sử dụng cin.ignore() loại hết ký tự nhập thừa trong stdin ra để cin cho nhập ký tự mới, nhưng lại không hoạt động ạ: (fflush thì vẫn hoạt động đc)
Code: https://ideone.com/yxE7Pn
#include <iostream>
#include <cstdint>
using namespace std;
int main()
{
char ch;
cout << "Type a character: ";
cin >> ch;
cout << "ASCII code: " << static_cast<int16_t>(ch) << endl;
if (!cin.eof())
cout << "There are some characters more in stdin file object\n";
char next_ch;
cin.ignore(INT64_MAX, '\n');
//fflush(stdin);
cin >> next_ch;
cout << "The next character: " << next_ch << endl;
return 0;
}
Cho em hỏi lỗi ở đâu mà cin vẫn nhận ký tự thừa trong stdin dù có cin.ignore() ạ?
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?