cin.ignore 函数
时间: 2024-05-09 21:15:48 浏览: 75
cin.clear()、cin.sync()和cin.ignor()的用法
在 C++ 中,`cin.ignore()` 函数是用于清除输入缓冲区的函数。当我们在程序中使用 `cin` 输入数据时,输入数据的同时也会将换行符或回车符等字符留在输入缓冲区中。如果后续需要再次输入数据,则这些多余的字符会影响输入,因此需要先清除输入缓冲区,这就是 `cin.ignore()` 函数的作用。
`cin.ignore()` 函数有两种常见的用法:
1. `cin.ignore()`:清除输入缓冲区中的一个字符(通常是回车符)。
2. `cin.ignore(n, delim)`:清除输入缓冲区中的 n 个字符或直到遇到指定的分隔符 delim。
例如,以下代码会提示用户输入一个整数,如果用户输入的不是整数,则会提示重新输入,同时清除输入缓冲区中的多余字符:
```c++
int num;
while (!(cin >> num)) { // 如果输入不是整数
cin.clear(); // 清除错误标志位
cin.ignore(100, '\n'); // 清除输入缓冲区中的多余字符
cout << "Invalid input. Please enter an integer: ";
}
```
阅读全文