c++学习笔记

     面向行的输入 getline()

     使用通过回车键入的换行符来确定输入的结尾。cin.getline().此函数有两个参数,第一个参数用来存储输入行的数组的名称,第二个参数是要读取的字符个数。它通过换行符来确定行尾,但是并不保存换行符。如果参数有20个,则函数最多读取19个字符,余下的空间就用来存储自动在结尾处添加的空字符。

char name[10];

cin.getline(name,10);

用户输入jud,  enter键;

存储

jud\0          
      面向行的输入,get()

  与getline()类似,接受的参数相同,解释参数的方式也是相同的,都是读取到行尾,但是get并不再读取并丢弃换行符,而是将其留在输入队列中假设我们连续两次调用get();

cin.get(name,arsize);

cin.get(dessert,arsize);

第一次调用后,换行符将留在输入队列中,因此第二次调用是看到的第一个字符便是换行符,因此get()以为到达行尾,没发现任何可读的内容,悲剧了。。。

 但是,用get的变体,使用不带任何参数的cin.get()用来处理换行符,就可以读入下一行

例子:

cin.get(name,arsize);

cin.get();

cin.get(dessert,arsize);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值