C++关于getline()和getchar()的小点
getchar只能“吃”一个字符,而getline可以“吃”一行字符
代码如下:
#include <iostream>
#include <cstring>
using namespace std;int main()
{char c;cin>>c;string line;getline(cin,line);cout<<c<<endl;cout<<line<<endl;return 0;
}
在这里,我输入a,然后按回车,直接就输出结果了。
因为getline把我的回车吃了
#include <iostream>
#include <cstring>
using namespace std;int main()
{char c;cin>>c;string line;getchar();getline(cin,line);cout<<c<<endl;cout<<line<<endl;return 0;
}
在这里,我输入a,然后按回车,还要继续输入,是因为getchar把回车吃了,所以getline才可以接收asd
可是,当我在输入a时,后面再加几个空格,然后再按回车,会发生什么呢?
可以发现,getchar只能吃一个字符,所以当我们输入一个值后,如果后面有几个空格,然后再按回车,getchar就无法解决吃回车的问题了,它把第一个空格吃了,剩下的空格加回车就被getline吃了,所以遇到这种情况,我们再用一次getline来吃就好了!!!
代码如下:
#include <iostream>
#include <cstring>
using namespace std;int main()
{char c;cin>>c;string line;getline(cin,line);getline(cin,line);cout<<c<<endl;cout<<line<<endl;return 0;
}
C++关于getline()和getchar()的小点相关推荐
- cin.get(),cin.getline(),getline(),gets(),getchar()
1.cin.get() (1).cin.get()-------提取单个字符,可以提取回车.空格 a=cin.get(); (2) 同(1)---------------提取单个字符,可以提取回车.空 ...
- 算法题目中常见的几种输入小点-gets,cin,scanf,getline,sstream
cin,scanf遇到空格都会停下来. gets可读入空格 例如: 在这里由于要读入空格,我们用gets来读入. const int N = 8; char g[N][N];while(gets(g[ ...
- [蓝桥杯]错误票据---stringstream应用举例
题目描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...
- ccf-csp 2016-2018部分题目总结
目 录 2016-04 折点计数 俄罗斯方块 路径解析 游戏 网络连接 2016-09 最大波动 火车购票 炉石传说 交通规划 祭坛 2016-12 中间数 工资计算 权限查询 压缩编码 2017-0 ...
- C++字符串的几种输入方法(string和字符数组)
ps:本文大部分内容参考于这篇博客,在这里加入了自己对这些函数在字符数组和string变量的理解和总结. C++中的输入大致有6种方法:cin,cin.get(),cin.getline(),gets ...
- 第一次CCF计算机软件能力认证
感受: 又是收获满满(啥也不会 )的一套题呢 _(xз」∠)_ 感觉自己的效率不高,没能按照目标做到一天一套题目加解析. 主要是因为刷题太少导致对常用函数不熟悉.经典思路没见过,所以做题慢,希望后面能 ...
- Linux 系统函数
Linux 系统函数 可以使用 man 2 函数名 查看 系统函数 也可以在 文件内 使用 2+ shift +k 进入指定函数 (前提是光标停在指定函数上) open 函数 int open(con ...
- 总结C++所有的输入输出方法(包含文件流)
输入输出流 输入 1. cin.get() 2. cin.getline() 3. getchar() 4. gets() c11以上版本已弃用,请使用gets_s() 5. getline() 6. ...
- C++输入函数的应用
最近因为找工作的事情,在刷一些编程题,也陆陆续续参加了一些笔试,一般编程中使用的语言是C++,因为编程题会有时间的限制,C++的效率最高,不容易出现超时的问题所以使用最多的语言就是C++. 在编程中, ...
最新文章
- 尤雨溪携手字节前端专家,畅聊 Vue 3.0 前端技术新趋势
- 【好文推荐】springmvc教程下载
- ubuntu系统靠谱的清理内存的方法(can not allocate memory 问题)
- 普通平键的主要尺寸有_艾创米:解密指纹锁锁体尺寸测量方法
- SHA256 的C语言实现
- 科普web前端开发如何学习,图文全面解析
- api k8s restful 创建pods_Kind:一个容器创建K8S开发集群
- unity linux桌面环境,现在仍然可以在Ubuntu 20.04上安装Unity桌面环境
- matlab线性拟合
- Android USB 开发
- 「网络安全」安全设备篇(7)——抗DDOS产品
- 10年测试,告诉你常见的软件测试类型有哪些?
- LibreOJ10155 数字变换 ------ 树形dp
- oracle时间查询语句
- git push错误failed to push some refs to的解决
- Matlab之绘制箭头图或速度图
- 酷狗android平板,安卓平板车载共享 体验酷狗音乐HD版
- 新鲜出炉!最新CKA备考指南!!
- IOS开发资料地址大全
- 西安市高新区将建智慧程度最高的城市地下综合管廊项目
热门文章
- 【ArcGIS Engine二次开发】入门基础(1):ArcGIS Engine简介及开发环境搭建
- ArcGIS,Envi软件中的卷帘工具使用及对比
- Android之提示Method return type must not include a type variable or wildcard:
- Android之Unexpected error while executing: am start -n “***.Activity“-a android.intent.action.MAIN
- Struts2的Interceptor和Listener以及Plugin
- python 写游戏好简单啊,我用键盘可以随意控制角色了【python 游戏实战 04】
- 厉害了!这几位小学生竟然在艺术界掀起一阵风暴,简直是灵魂画手无疑.........
- 物理学家史蒂夫·霍金逝世,享年76岁(附图文回顾他的一生)
- oracle 加密怎么解密,oracle加密encrypt,解密decrypt,
- bootstrap的表单验证 vue_第45天:Web表单