c++ 清空缓存区经常用的函数
#include
std::cin.fail() : 该函数返回值bool类型,当输入的数据类型不匹配时,该函数返回值为false此时无法从输入缓存区取值.
std::cin.clear() : 该函数的作用为清除错误标志,表示std::cin>>(数据类型)可以继续从输入缓存区读取数据
std::sync() : 清空输入缓存
注意:c++标准中,cin.sync()是清空缓冲区,但是实际的实现取决于编译器.如果使用vc++或者g++编译器,是可以的,但是使用vs中的编译器,就不可以
解决方案: 使用自定义clearBuff();
void clearBuff(){
char temp;
while((temp = getchar()) != ‘\n’);
}
c清空缓存区经常用的函数
fflush(stdin) : 清空输入缓存
注意:c标准中,fflush(stdin)是清空缓冲区,但是实际的实现取决于编译器.如果使用vc++或者g++编译器,是可以的,但是使用vs中的编译器,就不可以
解决方案: 使用自定义clearBuff();
void clearBuff(){
char temp;
while((temp = getchar()) != ‘\n’);
}