cin,cin.get(),cin.getline()

(1)cin>>

  • 根据后面变量的类型读取数据。
  • 输入结束条件 :遇到Enter、Space、Tab键。
  • 当cin>>从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待;如果第一个字符读取成功,字符后面的分隔符是残留在缓冲区的,cin>>不做处理。
  • 返回值:cin>>ch返回的是cin对象,可用while(cin>>ch)做文件结束判断

(2)cin.get()

  • 该函数有三种重载方式:无参,一参数,二参数
    cin.get(),cin.get(char ch), cin.get(array_name, Arrsize)
  • 输入结束条件:Enter键
    不丢弃且可读取缓冲区中的Enter、space和TAB。
  • cin.get()与cin.get(char ch)用于从缓冲区中读取一个字符,ch=cin.get()与cin.get(ch)是等价的。
    cin.get(array_name, Arsize)是用来读取字符串的,可以接受空格字符,遇到Enter结束输入,按照长度(Arsize)读取字符, 会丢弃最后的Enter字符(但是不丢弃SPACE和TAB)。
  • 返回值:cin.get()返回的是所读字符,cin.get(char ch)返回cin对象。
    tips:cin.get()可用于在下一次读取前清空残余缓存及Enter、space和TAB判断等。

(3)cin.getline()

  • cin.getline(array_name,Arsize)与 cin.get(array_name,Arsize)的读取方式差不多,以Enter结束,可以接受空格字符。按照长度(Arsize)读取字符, 会丢弃最后的Enter字符。
  • 区别:cin.getline()实际上有三个参数,cin.getline(接受字符串,接受个数,结束字符) ,当第三个参数省略时,系统默认为’\0’
    cin.get(array_name, Arsize)当输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行,只是直接从缓冲区中取数据。但是cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值