string::getline()和istream::getline()的区别

本文探讨了C/C++编程中关于字符串输入的两个关键函数——string::getline()和istream::getline()的区别。通过详细解释它们的用法和特点,帮助读者理解这两个函数在处理输入时的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习C/C++的时候,对于输入部分的相关知识一直没有真正的搞清楚,与其一直浑浑噩噩,不如专门花个时间搞清楚它们。

参考:cplusplus.com 

string::getline()

istream& getline (istream&  is, string& str, char delim);
istream& getline (istream&& is, string& str, char delim);//这里的两个&&还不明白,请大神指点~~
	
istream& getline (istream&  is, string& str);
istream& getline (istream&& is, string& str);


从函数声明可以看出,get line from stream to string.
①从输入流is中提取字符并保存进str中,直到遇到分隔符delimiter((2)中的分隔符,默认是'\n');
②当在输入操作遇到错误,或者end-of-file遇到时,停止提取;
③当分隔符delimiter找到时,它将被提取和丢弃,不会保存进str中,下一次的输入操作将从它之后开始;
在操作这里时,遇到一个小问题:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值