c++ cin.ignore()的用法
时间: 2024-02-06 12:08:45 浏览: 212
`cin.ignore()` 是 C++ 标准库中的一个函数,主要用于清空输入缓冲区。其基本用法为:
```c++
#include <iostream>
#include <limits>
using namespace std;
int main()
{
int num;
char c;
cout << "请输入一个整数和一个字符:" << endl;
cin >> num >> c;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "您刚才输入的是:" << num << " 和 " << c << endl;
return 0;
}
```
在上述代码中,`cin.ignore(numeric_limits<streamsize>::max(), '\n')` 的作用是忽略输入缓冲区中的所有字符(包括换行符),使得下一次输入不受影响。其中,`numeric_limits<streamsize>::max()` 表示最大的 `streamsize` 值,即忽略的字符数最多。如果不指定忽略的字符数,也可以简单地使用 `cin.ignore()`,这样会忽略输入缓冲区中的一个字符。
需要注意的是,如果没有清空输入缓冲区,有可能会造成程序出现问题。比如,如果上一次输入的行末有换行符,而下一次输入的第一个字符不是数字或者字符,那么程序就会出现错误。因此,在进行不同类型的输入之间,最好使用 `cin.ignore()` 来清空输入缓冲区。
阅读全文