输入函数的区别C++
目录
- 简介
- cin函数、scanf函数
- gets函数
- getline函数
- getchar函数
- 注意
简介
会详尽描述几大输入函数,C++的输入为啥感觉要比python复杂得多呢。。
cin函数、scanf函数
cin函数要用头文件iostream来导入,cin函数比较适合用于给出一系列用空格分开的数据,可以分别将其存入对应的变量,这一点是优于python的,因为python的input函数只会将输入的数全部当作字符串,然后我们需要对字符串进行处理,才能得到我们想要的数据。
scanf函数用法是 scanf(“对应的变量占位符”,变量的地址),一般除了字符串都会加一个"&"表示取地址符号。字符串由于是字符数组,其名称就是其地址。
#include <iostream>
#inlcude <cstdio>
using namespace std;
int main(){int a,b;
cin>>a>>b;//写起来很简便 分开输入或者是之间加一个空格
scanf("%d %d",&a,&b)//写起来很复杂
}
一般在考试中推荐使用scanf。因为cin的话,在数据较多的表现很差,往往数据还未完全输入就已经超时。
gets函数
gets函数比较牛逼,就像python中的input函数一样,可以一直读入直到遇到EOF或者换行符,而且换行符还不会读入。头文件为cstdio
但是gets函数并不是string类的函数,它对应的是字符数组,只有char a[]的时候才能对a进行gets输入。
gets使以换行符为截至符号。
#include <iostream>
#inlcude <cstdio>
using namespace std;
int main(){char p[100];
gets(p);//输入hello world
cout<<p<<endl;}//输出hello world 不受空格的影响
getline函数
getline函数跟gets函数类似,也可以一行带上空格输入不过格式稍稍与gets函数不同,头文件名要包括string。getline使以换行符为截至符号。
#include <string>
using namespace std;
int main(){getline(cin,string a)//这样就输入了字符串a 这样只能输入string
char a[100];
cin.getline(a,100);//这样就输入了一个字符数组
}
getline函数比gets更广泛可以输入字符串以及字符数组。
getchar函数
getchar函数用于输入单个字符,而且getchar函数可以识别换行符"\n"。注意getchar的输入方式,是变量=getchar()。
#include <iostream>
using namespace std;
int main() {char c1, c2, c3;c1 = getchar();c2 = getchar();c3 = getchar();cout << c1 << c2 << c3;
}
比如我们输入a回车一下在输入b,那么c1就是a,c2是"\n",c3是b。输出形式与输入形式是一模一样的。
注意
由于gets与getline都是以"\n"为截至符号标明输入结束的,所以如果用了cin或者getchar来输入单个的字符或数字的时候,一定要加一个getchar来把这一行结尾的换行符给输入进来,否则gets与getline就会失效。
int main() {int a;char p[100];cin >> a;//getchar(); //注释与不注释是不一样的gets(p);cout << a << endl;printf("%s", p);
}
输入函数的区别C++相关推荐
- C语言:几种字符输入函数的区别
几种字符输入函数的区别: 1.getche()函数:用于从键盘读入一个字符并显示,然后直接执行下一条语 句. 2.getch()函数:用于从键盘中读入一个字符,但不显示在屏幕上, 然后 ...
- Python 2 和 3 的区别及兼容技巧
目录 文章目录 目录 前言 Python 2 or 3 ? Python Future 的兼容性 __future__ Module future Package 统一不等于语法 统一整数类型 统一整 ...
- C语言 scanf()和gets()函数的区别
C语言 scanf()和gets()函数的区别 1.相同点:scanf( )函数和gets( )函数都可用于输入字符串 2.不同点:两者在功能上有所区别,具体区别如下: 要实现如下需求"从控 ...
- Go语言中 Scan 与 Scanf 和 Scanln的区别
文章目录 Golang语法 前言 博主介绍: – 我是了 凡 微信公众号[了凡银河系]期待你的关注.未来大家一起加油啊~ 文章目录 文章目录 前言 三种输入函数的区别 第一种:fmt.Scan 第二种 ...
- C程序设计-方法与实践(清华大学出版社)习题解析
1. 前言 本习题解析只是作为一种参考,代码不唯一! 补充:书本重要例题点击跳转 2. C语言概述 1)习题 2.3 编写程序,由键盘输入任意3个数,找出其中最小的数 #include <std ...
- C语言scanf fgets,C语言中输入函数(scanf()、fgets()和gets())的区别详解
前言 大家都知道在C语言中,有三种主要的输入函数:scanf(),fgets()以及gets().他们的使用方法及注意事项如下: 1.scanf() 它是一种格式化的输入方式,可一次性按照规定的格式输 ...
- python命令行输入函数回退_Python2 中 input() 和 raw_input() 的区别
在 Python2 中如要想要获得用户从命令行的输入,可以使用 input() 和 raw_input() 两个函数,那么这两者有什么区别呢? 我们先借助 help 函数来看下两者的文档注释: > ...
- C++中的几个输入函数:cin,cin.get(),getline(),cin.getline() 的区别
目录 cin>> cin.get() getline() cin.getline() cin>> 属于istream流 1)用于输入数字. #include <iostr ...
- Python2 与 Python3 区别
Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...
最新文章
- graphql_GraphQL的稳步上升
- 动真格!因为论文!138名研究生丧失学位申请资格,导师也被罚……
- 系统详细设计说明书_人工砂石骨料加工系统5个生产环节详细解读,设计要点、生产工艺...
- 运维自动化轻量级工具pssh
- Google地图的trip plan是旅行规划的好帮手!
- 【脚本整理】docker-compose 部署prometheus + grafana
- [原]Console小技巧——Console版贪食蛇
- 从一个实际的例子触发,理解什么是 Rxjs 的 defer 函数
- PHP会话管理——Session和Cookie
- TCP与UDP的选择--结合QQ来说明
- Pytorch——可视化不同的优化器效果
- 最新谷歌算法面试真题:将字符串翻转到单调递增
- 1 分析计算机上网时断时续的原因,网络丢包现象分析与解决方案
- 禅意花园网页设计_CSS教程:15.1 “禅意花园”页面HTML结构分析
- 满满的大片既视感,还原 Pwn2Own 黑客大赛首日战况
- 怪物猎人世界服务器小程序,坚守的猎人的最后礼物? 腾讯推出《怪物猎人世界》官方小程序...
- 口红会染唇是什么意思_唇釉染唇是什么意思
- 使用SpringBoot+Vue+快递100API搭建一个快递查询网站
- 今天偶然发现一个各种模板都比较好看的网站(包含简历),关键免费下载,推荐给大家
- 【ESP 保姆级教程】疯狂传感器篇 —— 案例:ESP8266 + MQ3酒精传感器 + webserver(局域网内曲线变化图)+ 自定义钉钉告警