cin.ignore():
ignore() 是 istream 类的成员函数,它的原型是:
istream & ignore(int n =1, int delim = EOF);
此函数的作用是跳过输入流中的 n 个字符,或跳过 delim 及其之前的所有字符,哪个条件先满足就按哪个执行。
两个参数都有默认值,因此 cin.ignore() 就等效于 cin.ignore(1, EOF), 即跳过一个字符。
该函数常用于跳过输入中的无用部分,以便提取有用的部分。
例如,输入的电话号码形式是Tel:63652823,Tel:就是无用的内容。
常用 getchar() 或者 cin.ignore() 在使用getline()之前吸收一个换行符
#include <iostream>
using namespace std;
int main()
{
int n;
cin.ignore(5, 'A');
cin >> n;
cout << n;
return 0;
}
输入1:
abcde34↙
结果1:
34
cin.ignore() 跳过了输入中的前 5 个字符,其余内容被当作整数输入 n 中。
输入2
abA34↙
结果2:
34
cin.ignore() 跳过了输入中的 'A' 及其前面的字符,其余内容被当作整数输入 n 中。