C++で入力バッファをクリアする方法
C++ではcin.ignore()を使って入力バッファをクリアします。これにより改行文字まで、バッファに残った全ての文字が無視されます。以下にサンプルコードを示します。
#include <iostream>
int main() {
int num;
std::cout << "请输入一个整数:";
std::cin >> num;
// 清空输入缓冲区
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "请输入一个字符串:";
std::string str;
std::getline(std::cin, str);
std::cout << "输入的整数是:" << num << std::endl;
std::cout << "输入的字符串是:" << str << std::endl;
return 0;
}
上記の例では、std::cin.ignore() 関数を使用して改行文字を消去し、その後の std::getline() 関数で標準入力から文字列を読み込んでいます。