目录

  • 简介
  • 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++相关推荐

  1. C语言:几种字符输入函数的区别

    几种字符输入函数的区别: 1.getche()函数:用于从键盘读入一个字符并显示,然后直接执行下一条语   句. 2.getch()函数:用于从键盘中读入一个字符,但不显示在屏幕上,       然后 ...

  2. Python 2 和 3 的区别及兼容技巧

    目录 文章目录 目录 前言 Python 2 or 3 ? Python Future 的兼容性 __future__ Module future Package 统一不等于语法 统一整数类型 统一整 ...

  3. C语言 scanf()和gets()函数的区别

    C语言 scanf()和gets()函数的区别 1.相同点:scanf( )函数和gets( )函数都可用于输入字符串 2.不同点:两者在功能上有所区别,具体区别如下: 要实现如下需求"从控 ...

  4. Go语言中 Scan 与 Scanf 和 Scanln的区别

    文章目录 Golang语法 前言 博主介绍: – 我是了 凡 微信公众号[了凡银河系]期待你的关注.未来大家一起加油啊~ 文章目录 文章目录 前言 三种输入函数的区别 第一种:fmt.Scan 第二种 ...

  5. C程序设计-方法与实践(清华大学出版社)习题解析

    1. 前言 本习题解析只是作为一种参考,代码不唯一! 补充:书本重要例题点击跳转 2. C语言概述 1)习题 2.3 编写程序,由键盘输入任意3个数,找出其中最小的数 #include <std ...

  6. C语言scanf fgets,C语言中输入函数(scanf()、fgets()和gets())的区别详解

    前言 大家都知道在C语言中,有三种主要的输入函数:scanf(),fgets()以及gets().他们的使用方法及注意事项如下: 1.scanf() 它是一种格式化的输入方式,可一次性按照规定的格式输 ...

  7. python命令行输入函数回退_Python2 中 input() 和 raw_input() 的区别

    在 Python2 中如要想要获得用户从命令行的输入,可以使用 input() 和 raw_input() 两个函数,那么这两者有什么区别呢? 我们先借助 help 函数来看下两者的文档注释: > ...

  8. C++中的几个输入函数:cin,cin.get(),getline(),cin.getline() 的区别

    目录 cin>> cin.get() getline() cin.getline() cin>> 属于istream流 1)用于输入数字. #include <iostr ...

  9. Python2 与 Python3 区别

    Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...

最新文章

  1. graphql_GraphQL的稳步上升
  2. 动真格!因为论文!138名研究生丧失学位申请资格,导师也被罚……
  3. 系统详细设计说明书_人工砂石骨料加工系统5个生产环节详细解读,设计要点、生产工艺...
  4. 运维自动化轻量级工具pssh
  5. Google地图的trip plan是旅行规划的好帮手!
  6. 【脚本整理】docker-compose 部署prometheus + grafana
  7. [原]Console小技巧——Console版贪食蛇
  8. 从一个实际的例子触发,理解什么是 Rxjs 的 defer 函数
  9. PHP会话管理——Session和Cookie
  10. TCP与UDP的选择--结合QQ来说明
  11. Pytorch——可视化不同的优化器效果
  12. 最新谷歌算法面试真题:将字符串翻转到单调递增
  13. 1 分析计算机上网时断时续的原因,网络丢包现象分析与解决方案
  14. 禅意花园网页设计_CSS教程:15.1 “禅意花园”页面HTML结构分析
  15. 满满的大片既视感,还原 Pwn2Own 黑客大赛首日战况
  16. 怪物猎人世界服务器小程序,坚守的猎人的最后礼物? 腾讯推出《怪物猎人世界》官方小程序...
  17. 口红会染唇是什么意思_唇釉染唇是什么意思
  18. 使用SpringBoot+Vue+快递100API搭建一个快递查询网站
  19. 今天偶然发现一个各种模板都比较好看的网站(包含简历),关键免费下载,推荐给大家
  20. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:ESP8266 + MQ3酒精传感器 + webserver(局域网内曲线变化图)+ 自定义钉钉告警

热门文章

  1. BZOJ1096-[ZJOI2007]仓库建设
  2. bash中正则表达式
  3. 在cdh5.1.3中在mapreduce使用hbase
  4. Arrays数组的常用方法
  5. 源代码管理分析工具 - Source Navigator
  6. Flexigid Options
  7. 【自学系列一】HTML5大前端学习路线+视频教程(完整版)
  8. GitHub的SSH免密连接
  9. MySQL 8.0窗口函数
  10. 解决listview点击item失效