C++之getline()和cin.getline()的区别

getline和cin.getline这两个函数很相似,先说getline吧, 
1:getline有两个重载版本,第一个版本接受两个参数: 
一个istream对象的引用(可以是istream&等); 
第二个参数string对象的引用 
cin遇到空格,tab键就会结束输入(并且会忽略),按下回车后输入的字符才会发送到缓冲区。

getline(cin, name)读取输入中的数据,遇到空格也照样讲空格赋值给name,直到遇到换行符停止,并将换行符丢弃。

getline(cin, name, '~'),第二个版本的getline新增加了一个参数,是字符类型的,表示终止符,遇到该终止符结束输入,并且不会丢弃换行符。

getline()函数位于命名空间std中。

cin.getline(name, size),第一个版本是接受两个参数,一个是字符数组首地址,第二个是表示个数,例如:

int main()

{

     using namespace std;

    string str, s;

    char charr[100];

    cin.getline(charr, 100);

    getline(cin, str, '~');

    return 0;

}

此时的输入为

one two

something~

则对应的输出为 str = 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值