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');