C++中的cin、cin.getline()、getline()函数比较
1.cin用法
- 用法1:输入一个数字或字符
// cin用法// 用法1:输入一个数字或字符int a, b;cin >> a >> b;cout << a + b << endl;
- 用法2:用于接收一个字符串,遇到空格,TAB键、回车就结束
// 用于接收一个字符串,遇到空格,TAB键、回车就结束char aa[20];cin >> aa;cout << aa << endl;
2.cin.getline()用法
- 用法:接收一个字符串,可以接收空格并输出
char bb[20];cin.getline(bb, 5);cout << bb << endl; // 接收5个字符到bb中,其中最后一个为'\0',所以只看到4个字符输出
- 延伸知识点:
- cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)
- 当第三个参数省略时,系统默认为’\0’
- 如果将例子中cin.getline()改为cin.getline(bb,5,‘a’);当输入jlkjkljkl时,输出jklj;输入jkaljkljkl时,输出jk
3.getline()用法
- 用法:接收一个字符串,可以接收空格并输出,需包含#include
string str;getline(cin, str);cout << str << endl;
4.注意的问题:
- cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数
- 当同时使用cin >>,getline()时,需要注意的是,在cin >> 输入流完成之后,getline()之前,需要通过下面的两种方法作为输入流cin以清除缓存,如果不这样做的话,在控制台上就不会出现getline()的输入提示,而直接跳过,因为程序默认地将之前的变量作为输入流。
- 方法一:str="\n"; getline(cin,str);
- 方法二:cin.clear(); cin.sync();
string s1;string s2;cin>>s1;cout << "s1 is :" << s1 << endl;cin.clear();cin.sync();getline(cin, s2);cout << "s2 is :" << s2 << endl;
5.参考博客
博客链接
C++中的cin、cin.getline()、getline()函数比较相关推荐
- C++中的几个输入函数:cin,cin.get(),getline(),cin.getline() 的区别
目录 cin>> cin.get() getline() cin.getline() cin>> 属于istream流 1)用于输入数字. #include <iostr ...
- (转)cin cin.get cin.getline cin
(转)cin cin.get cin.getline cin<<的结束符有enter space tab cin.get()的结束符只有enter,但会把enter放入队列等待 cin.g ...
- C++输入cin,cin.get(),cin.getline()详细比较及例子
C++输入过程中,是把输入加载到缓冲区中,然后对缓冲区中的字符进行读取.cin,cin,get(),cin.getline()三个函数虽然都能进行数据读取,但是它们对缓冲区内数据的处理方法是不同的(如 ...
- 关于scanf 与 cin gets(),getline()......输入输出字符串的区别
很对人对于字符串的输入输出一直是比较模糊的,今天总结一下几个常用的输入流符号对于输入字符串时的区别: 1.scanf(),首先 它遇到空格或回车键(\n)就会结束,并且会将回车符算入字符串中: 2.c ...
- C++:while(getline())函数
首先说明getline()的原型:getline(istream &is,string &str,char delim) istream &is表示一个输入流,譬如cin,st ...
- 习题 6.20 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。整数和n在主函数中输入。最后在主函数中输出。
C++程序设计(第三版) 谭浩强 习题6.20 个人设计 习题 6.20 用指向指针的指针的方法对n个整数排序并输出.要求将排序单独写成一个函数.整数和n在主函数中输入.最后在主函数中输出. 代码块: ...
- 最近,又发现了 Pandas 中三个好用的函数
作者 | luanhz 来源 | 小数志 导读 近日,在github中查看一些他人提交的代码时,发现了Pandas中这三个函数,在特定场景中着实好用,遂成此文以作分享. 程序的基本结构大体包含三种,即 ...
- R语言层次聚类(hierarchical clustering):特征缩放、抽取hclust中的聚类簇(cutree函数从hclust对象中提取每个聚类簇的成员)、基于主成分分析的进行聚类结果可视化
R语言层次聚类(hierarchical clustering):特征缩放.抽取hclust中的聚类簇(cutree函数从hclust对象中提取每个聚类簇的成员).基于主成分分析的进行聚类结果可视化 ...
- excel中最常用的30个函数_最常用日期函数汇总excel函数大全收藏篇
在我们的实际工作中,经常需要用到日期函数.日期函数那么多,你还只会用函数TODAY吗?那你就OUT了.今天一起来看下常用日期函数的用法! 1.DATE 函数DATE:返回在日期时间代码中代表日期的数字 ...
- [转载]在Eclipse CDT中编译含有多个main函数的项目
在Eclipse CDT中编译含有多个main函数的项目 在C/C++项目中有时候会需要在一个项目中包含多个main函数.在Visual Studio中,这种情况可以由一个解决方案下带多个项目来解决, ...
最新文章
- java 连续运算_JS连续运算
- xampp的Apache无法启动解决方法
- 广东发展银行系统分析师面试问题
- centos 忘记root密码_Linux忘记root密码解决方案
- linux操作系统2试题,RedHat Linux 9.0 操作系统测试题2
- 仍然报错_only_full_group_by配置,竟让所有应用报错?
- 会计基础模拟练习一(3)
- Python机器学习:SVM006什么是核函数?
- 【Clickhouse】Clickhouse 数据字典
- Zabbix通过自动发现监控端口
- 地区picker 各选择器,优劣分析
- 这 173 家牛逼的互联网国企!值得你加入
- flutter 修改app名字和图标(安卓)
- IIS无法启动问题的解决
- unity屏幕分辨率设置
- 金融行业相关知识点整理
- (个人理解+转载)ANSI/ASCII/UTF8/UNICODE/GB2312/UCS-2/UTF16-文本的编码格式
- 网安面试题(common)
- 神经元网络技术有限公司,神经网络网站
- 虚拟串口工具MCGS开发调试的灵活应用教程