当前位置:网站首页>输入输出流总结
输入输出流总结
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'吃不吃掉都无所谓
运行结果:
这样就对了
边栏推荐
猜你喜欢
谷歌插件.crx文件下载后被自动删除的解决方法
开放麒麟 openKylin 版本规划敲定:10 月发布 0.9 版并开启公测,12 月发布 1.0 版
蓝牙技术|上半年全国新增 130 万台充电桩,蓝牙充电桩将成为市场主流
利用决策树找出最优特征组合
【HMS core】【Media】【视频编辑服务】 在线素材无法展示,一直Loading状态或是网络异常
用于X射线聚焦的复合折射透镜
Unity插件:使用PopulationSystem制作行走交流的路人
《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出
职场漫谈:为什么越是内卷的行业越有人争着抢着往里冲?好奇怪的说...
Centos7 install mysql version rapidly
随机推荐
砺夏行动|九州云章津楠:开源不是少数人的运动,大众化才是源泉
相似文本聚类与调参
编程思想_编程有必要给孩子学吗?
Win11快速助手在哪里?Win11打开快速助手的方法
代码随想录笔记_动态规划_1049最后一块石头的重量II
SLAM 04.视觉里程计-1-相机模型
The Internet of things application development trend
如何才能有效、高效阅读?猿辅导建议“因材因时施教”
Analysis and application of portrait segmentation technology
CF1527D MEX Tree (mex & tree & inclusive)
第六届未来网络发展大会,即将开幕!
FRED应用:毛细管电泳系统
word2003按空格键为什么会出现小数点
Rust from entry to proficient 04-variables
Makefile 语法及使用笔记
七夕邂逅爱,那人一定在
xpath获取带命名空间节点注意事项
[Problem solving] QT update component appears "To continue this operation, at least one valid and enabled repository is required"
[LeetCode] 38. Appearance sequence
License server system does not support this version of this feature