清除同一行中多个输入的缓冲区



当一行中有多个输入时,是否有一个away可以在每次输入后清除缓冲区?我一直在一次捕获每个变量,并像这样清除缓冲区:

cin >> length;
cin.clear();
cin.ignore(10000, 'n'); 

这行代码也是一样的吗:

cin >> length >> width >> height;

您可以编写自定义操纵器

istream& clear_buffer(istream& in)
{
in.clear();
in.ignore(10000, 'n');
return in;
}
cin >> length >> clear_buffer >> width >> clear_buffer >> height >> clear_buffer;

最新更新