Oct
13
清空C++标准输入流缓冲区
2008 学习笔记 Popularity: 1%
调用iostream输入数据时,若用户输入的数据类型与要求的不符(比如要求读入整数而用户输入的不是数字),则cin会被设置为fail(可以用!cin判断),而用户输入的数据仍然留在流缓冲区里,需要手动清空:
1 2 | cin.clear(); cin.ignore( numeric_limits<streamsize>::max(), '\n'); |
2008 学习笔记 Popularity: 1%
调用iostream输入数据时,若用户输入的数据类型与要求的不符(比如要求读入整数而用户输入的不是数字),则cin会被设置为fail(可以用!cin判断),而用户输入的数据仍然留在流缓冲区里,需要手动清空:
1 2 | cin.clear(); cin.ignore( numeric_limits<streamsize>::max(), '\n'); |