ignore() 是 istream 类的成员函数,它的原型是:
istream & ignore(int n =1, int delim = EOF);
此函数的作用是跳过输入流中的 n 个字符,或跳过 delim 及其之前的所有字符,哪个条件先满足就按哪个执行。两个参数都有默认值,因此 cin.ignore() 就等效于 cin.ignore(1, EOF), 即跳过一个字符。
该函数常用于跳过输入中的无用部分,以便提取有用的部分。例如,输入的电话号码形式是Tel:63652823
,Tel:
就是无用的内容。例如下面的程序:
#include <iostream> using namespace std; int main() { int n; cin.ignore(5, 'A'); cin >> n; cout << n; return 0; }
程序的运行过程可能如下:
abcde34↙
34
cin.ignore() 跳过了输入中的前 5 个字符,其余内容被当作整数输入 n 中。
该程序的运行过程也可能如下:
abA34↙
34
cin.ignore() 跳过了输入中的 'A' 及其前面的字符,其余内容被当作整数输入 n 中。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23704.html