两种getline的用法--iostream和string
发布日期:2022-02-21 17:40:31
浏览次数:49
分类:技术文章
本文共 779 字,大约阅读时间需要 2 分钟。
第一种: 在<iostream>中的getline()函数有两种重载形式:
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );getline顾名思义即读入一行,遇到换行/delim/字数达到限定,就会终止读入
第二种: 在<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);
同理:遇到换行/delim,str读入大小为0
举例说明上述例子:只说明了常用的
输出结果:
这里注意:从上面例子看,使用string中的getline做循环,我又添加了aus.size()作为判断条件。
这是因为:如果只有getline这个判断条件,while判断语句的真实判断对象是cin的状态,也就是判断当前是否存在有效的输入流。因此就算我们换行,对于cin来说也是有效的输入流,只是aus的大小为0而已,所以是跳不出循环的。
另外值得注意的一个问题:在string的getline中
getline(cin,aus);这种情况就是遇到换行就不再读入
getline(cin,aus,'#');这种情况下,换行没有用,必须遇到#才停止读入
也就是说每次换行和标志符只能有一个有效!!!
像下面这种写法是跳不出循环的:
转载地址:https://blog.csdn.net/weixin_40599276/article/details/97911653 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月19日 15时35分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
说说如何使用 Canvas 绘制弧线与曲线
2019-04-26
系统架构设计笔记(64)—— 嵌入式系统设计
2019-04-26
系统架构设计笔记(65)—— 项目的范围、时间与成本
2019-04-26
系统架构设计笔记(66)—— 配置管理与文档管理
2019-04-26
说说 Python 元组的高级用法
2019-04-26
系统架构设计笔记(66)—— 配置管理与文档管理
2019-04-26
系统架构设计笔记(67)—— 软件需求管理
2019-04-26
系统架构设计笔记(68)—— 软件开发的质量与风险
2019-04-26
系统架构设计笔记(69)—— 人力资源管理
2019-04-26
系统架构设计笔记(70)—— 软件运行评价与过程改进
2019-04-26
系统架构设计笔记(71)—— 信息系统概述
2019-04-26
说说 Canvas 的旋转功能
2019-04-26
说说 Canvas 的缩放功能
2019-04-26
系统架构设计笔记(72)—— 信息系统工程
2019-04-26
系统架构设计笔记(73)—— 政府信息化与电子政务
2019-04-26
SWIFT入门 Dictionary
2019-04-26
生死6小时!!!!!!!!!!!!!!!!1
2019-04-26
段永平大佬!
2019-04-26
mysql-connector-java与Mysql、Java的对应版本
2019-04-26
MySQL 表锁、行锁、间隙锁、页锁介绍分析
2019-04-26