cout << "Enter the x and y values: ";
while (cin >> rplace.x) // 依次读取,赋值给rplace.xrplace.y
{
cout << "Next two numbers (q to quit): ";
}
cout << "Done." << endl;当输入的内容无法转换为rplace.x同类型值是,cin.fail()为真,同时输入的值将放入缓冲区,此时,缓冲区有很多的损坏字符,我们需要清除状态,并将缓冲区清空。
cin.clear(); cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');