cin清空缓冲区
时间: 2023-08-20 21:15:35 浏览: 80
在 C++ 中,我们可以使用以下两种方法清空缓冲区:
1. 使用 cin.ignore() 函数清空缓冲区。该函数会忽略掉缓冲区中的一个字符,通常是回车符。示例代码如下:
```
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
cin.ignore(); // 清空缓冲区
cout << "请输入一个字符串:";
string str;
getline(cin, str);
cout << "您输入的整数是:" << num << endl;
cout << "您输入的字符串是:" << str << endl;
return 0;
}
```
2. 使用 cin.sync() 函数清空缓冲区。该函数会将缓冲区中的内容全部清空。示例代码如下:
```
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
cin.sync(); // 清空缓冲区
cout << "请输入一个字符串:";
string str;
getline(cin, str);
cout << "您输入的整数是:" << num << endl;
cout << "您输入的字符串是:" << str << endl;
return 0;
}
```
需要注意的是,清空缓冲区的操作通常不是必需的,只有在需要读取不同类型的数据时才需要进行清空。