首页 > 其他分享 >cin.ignore()函数

cin.ignore()函数

时间:2023-01-19 19:00:12浏览次数:39  
标签:字符 函数 舍弃 cin ignore 参数 输入

函数原型

istream& ignore (streamsize n = 1, int delim = EOF);

第一个参数n表示从输入到正式被赋值到变量的过程中,也就是在输入缓冲区中时,会从你输入开始向后面读取字符,每读一个。给自己维护的计数器加一,并和第二个参数比较,观察是否相等。若比较时没有相等,则舍弃这个字符(表示最终向变量赋值时不会把这个字符和这个字符之前的字符赋值给变量)

例如:

cin.ignore(8,’a’);

1.此时输入bcdaefg,在读取字符时,一个一个读,首先是’b’,跟第二个参数’a’不想等,舍弃,并给计数器加一,并将计数器和第一个参数比较。接着是’c’,’d’,当读到’a’时,与第二个参数比较,相等,舍弃这个字符,并不再执行后面的逻辑,将后面的所有输入字符都放在输入缓冲区等待被拿走(被赋值给变量)

2.如果输入bcdefghijkl,此时每读一个字符和第二个参数比较时,都不相等,计数器一直加一,直到与第一个参数比较时相等,则同样舍弃之前的字符,即从一开始输入的数据向后8个(第一个参数)字符均被舍弃,从第九个字符开始保留在输入缓冲区,等待被拿走
若如此使用:

cin.ignore();

表示丢弃输入的第一个字符。可用来防止接收上次输入的回车符。

cin.ignore(1024.’\n’);

第一个参数设置的足够大,表示将回车(包括回车)之前的数据全部清除,此举在保证回车符之前的数据被使用后,可以当作刷新输入缓冲区的方式使用。

标签:字符,函数,舍弃,cin,ignore,参数,输入
From: https://www.cnblogs.com/imreW/p/17061981.html

相关文章

  • Vue 中 data 为什么必须是一个函数?
    在Vue中,每个组件都是一个对象,当多个实例共享同一对象时,它们将共享相同的状态。如果data不是一个函数并且是一个对象,那么所有组件实例将共享相同的data对象,这样就会导......
  • malloc()函数
    1、malloc()函数malloc()函数的头文件是stdlib.h,其函数声明如下:void*malloc(size_tsize);其中参数size_tsize表示动态内存分配空间的大小,以字节为单位。size_t是ty......
  • hdu:Holding Bin-Laden Captive(母函数,数学)
    ProblemDescriptionWeallknowthatBin-Ladenisanotoriousterrorist,andhehasdisappearedforalongtime.Butrecently,itisreportedthathehidesin......
  • inet_pton和inet_ntop函数
    Linux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。ine......
  • Square Coins(母函数)
    ProblemDescriptionPeopleinSilverlandusesquarecoins.Notonlytheyhavesquareshapesbutalsotheirvaluesaresquarenumbers.Coinswithvaluesofall......
  • B. Going to the Cinema
    https://codeforces.com/contest/1782/problem/B题目大意就是给定n个人,每个人有一个除自己之外的最少陪同人数,选一部分人去电影院,要求去的人人数大于等于去的每个人要陪同......
  • 5week-4函数作用域
    一.作用域:可见范围,是表示符的可见范围,常量,变量函数天然就是作用域1.块作用域if,for,switch语句中:=定义的变量,都是只能在当前ifforswitch中使用,离开这个范围......
  • 类内函数的override问题-方法
    Question:haveabaseclasswithavirtualfunction:classBase{public:virtualvoidFunction();};voidBase::Function(){cout<<"defaultversion"<<......
  • 解决:无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
    如果我们已经安装了PHP或者其他集成环境,但是在命令行执行php命令时还是报这个错误  那是因为没有配置环境变量在此电脑上右键,然后看下面这张图  然后在Path变......
  • m基于效用函数的联合资源分配matlab仿真,对比PF,CUBP以及DUBP三种方法
    1.算法描述 表示基站n到用户m是否连接。 1.1C-CUBP   主要涉及到的公式有: 1.2C-DUBP 主要涉及到的公式有: 2.仿真效果预览matlab2022a仿真......