C++中读取一行数据:get和getline

转载请注明出处谢谢:http://blog.csdn.net/u011504118

在C++中最常用到的输入自然是cin了,但它有个缺点就是当输入有空格时,只能读取到空格前面的内容。我们自然是希望能够读取到一整行的内容了。好在C++中提供了两个函数:getgetline, 也就是这篇文章的主角了。先从getline开始吧。

getline()

当我们想从输入流中读取到一行数据时,我们可以这样调用cin.getline(buf, size), 读取指定长度的字符串或遇到换行符时结束并将结果保存在buf中。getline()通过换行符来确定结尾,但不保存换行符。还有其他的几个重载函数,这里就不多说了。

get()

cin.get(buf, size)也是读取一行数据,但它不读取末尾的换行符,换行符会被保留在输入队列中,也就是说,当第一次调用后,换行符留在输入队列中,因此第二次调用的时候看到的第一个字符便是换行符。可使用cin.get()读取下一个字符(即使是换行符)。也可以这样使用cin.get(buf,size).get()

get()测试代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值