当前位置:网站首页>输入输出流总结
输入输出流总结
2022-08-04 14:28:00 【51CTO】
本人流具体的情况还不太了解,有个模糊的认识,以后会不断更新
输入流:相当于把一根水管捅到程序上,你输入的所有东西都会放到依次放到管道里,<<相当于你往管道里放东西
输出流:这是捅到程序上的另一根水管,他计算出来的东西全放到这里面,>>相当于你从水管取东西
举个例子
cin>>a>>b;
相当于你往流里放了一个a,一个空格,一个b,一个回车;
程序的执行结果是:

可能会有人问流里的空格哪去了?
getchar()函数的作用是从键盘读入一个字符串,并带回显,getchar()函数等待输入直到按出车才结束,回车前的所有输入的字符都会逐个显示在屏幕上,但只有第一个字符作为函数的返回值。
读入2个数中间的空格被系统自动过滤了,不然系统不会傻逼到这种程度
如果你输入1空格2空格回车,则会输出空格,第一个空格被系统跳过了,第二个空格不会被系统跳过
程序的运行结果是:

刚开始输入456,4被getchar()读了,剩下的字符留在流里,当程序再次读入的时候就把流里残留的5给读出来了
scanf和cin结束的'\n'留在流里,如果遇到能读入'\n'的函数,这些函数就会读入'\n'结束,不会输入别的东西,能读入'\n'的函数有getchar(),gets(),cin.getline(),
程序的运行结果是:

只输入一个4程序就跑完了,gets()读入的是'\n'
最后总结一下吧,如果你刚开始输入一个字符数字之类的,后面又有一个gets()之类的函数,就应该把流里的'\n'吃掉不然会被后面的吃掉导致错误,如果后面的输入函数不会读入'\n'则他会把'\n'自动摒弃掉,这个'\n'吃不吃掉都无所谓
运行结果:

这样就对了
边栏推荐
- 实际工作中的高级技术(训练加速、推理加速、深度学习自适应、对抗神经网络)
- How to Identify Asynchronous I/O Bottlenecks
- 文盘Rust -- 配置文件解析
- 化算力为战力:宁夏中卫的数字化转型启示录
- zabbix自定义图形
- 并发程序的隐藏杀手——假共享(False Sharing)
- [Opportunity Enlightenment-60]: "Soldiers, Stupid Ways"-1- Opening: "Death" and "Life" are the way of heaven
- 节省50%成本!京东云重磅发布新一代混合CDN产品
- 代码随想录笔记_动态规划_1049最后一块石头的重量II
- 四平方和,激光炸弹
猜你喜欢

FRED应用:毛细管电泳系统

Kyushu Cloud attended the Navigator Online Forum to discuss the current status, challenges and future of 5G MEC edge computing

快解析结合友加畅捷U+

Database recovery

属于程序猿的浪漫

实际工作中的高级技术(训练加速、推理加速、深度学习自适应、对抗神经网络)

相似文本聚类与调参
将 Sentinel 熔断限流规则持久化到 Nacos 配置中心

Is there a replacement for the LM2596?LM2576 can

【剑指offer33】二叉搜索树的后序遍历序列
随机推荐
F. Jinyu and its outer matrix (construction)
Makefile syntax and usage notes
Problem solving-->Online OJ (18)
ICML 2022 | 图神经网络的局部增强
metaRTC5.0新版本支持mbedtls(PolarSSL)
MPLS实验
SLAM 04.视觉里程计-1-相机模型
Lixia Action | Kyushu Yunzhang Jinnan: Open source is not a movement for a few people, popularization is the source
Kyushu Cloud attended the Navigator Online Forum to discuss the current status, challenges and future of 5G MEC edge computing
【HMS core】【Media】【视频编辑服务】 在线素材无法展示,一直Loading状态或是网络异常
关于redis的几件小事(五)redis保证高并发以及高可用
用于X射线聚焦的复合折射透镜
eyb:JWT介绍
Execution failed for task ‘:xxx:generateReleaseRFile‘.
爬虫——动作链、xpath、打码平台使用
Convolutional Neural Network Basics
谷歌插件.crx文件下载后被自动删除的解决方法
MySQL【窗口函数】【共用表表达式】
[Problem solving] QT update component appears "To continue this operation, at least one valid and enabled repository is required"
vim 常用操作命令