vs中用cin.sync()会无效
自己定义一个函数用来清空
方法1:
char c;
while((c =getchar()) != '\n');
方法2
//清空输入流最大数字符个数,直到遇到回车为止
std::cin.ignore((std::numeric_limits<std::streamsize>::max)(),'\n');
//max前面一定要加括号表示一个整体,不然会报错
因为Windef.h中定义了
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
所以会产生编译错误
cin.ignore(count,c);
从输入流中提取并丢弃字符,直到遇到三种情况为止
1.提取字符达到了参数count指定的数量
2.在输入序列中遇到文件结束(EOF)
3.输入序列中的下一个字符为参数c指定的字符(这个字符会被提取并丢弃)
count 常常取
std::numeric_limitsstd::streamsize::max()