当前位置:网站首页>输入输出流总结
输入输出流总结
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'吃不吃掉都无所谓
运行结果:

这样就对了
边栏推荐
- 世间几乎所有已知蛋白质结构,都被DeepMind开源了
- Kyushu Cloud attended the Navigator Online Forum to discuss the current status, challenges and future of 5G MEC edge computing
- 【 HMS core 】 【 Media 】 online video editing service 】 【 material can't show, or network anomalies have been Loading state
- 阴影初始化【5】
- Oracle RAC环境下vip/public/private IP的区别
- X射线掠入射聚焦反射镜
- idea removes spark logs
- centos7安装mysql急速版
- ICML 2022 | 图神经网络的局部增强
- 1375. 二进制字符串前缀一致的次数-前序遍历法
猜你喜欢
随机推荐
CF1527D MEX Tree (mex & tree & inclusive)
如何通过使用“缓存”相关技术,解决“高并发”的业务场景案例?
ASA归因:如何评估关键词的投放价值
MySQL性能指标TPS\QPS\IOPS如何压测?
X射线掠入射聚焦反射镜
中大型商业银行堡垒机升级改造就用行云管家!必看!
CCF GLCC正式开营|九州云开源专家携丰厚奖金,助力高校开源推广
oracle+RAC+linux5.1所需要安装的包
用了TCP协议,就一定不会丢包吗?
Is there a replacement for the LM2596?LM2576 can
集合划分差最小问题(01背包)
leetcode 48. Rotate Image (Medium)
SQL语句的写法:Update、Case、 Select 一起的用法
Centos7 install mysql version rapidly
物联网应用发展趋势
企业级优化
Crawler - action chain, xpath, coding platform use
信创是什么意思?涉及哪些行业?为什么要发展信创?
centos7安装mysql急速版
在腾讯,我的试用期总结!








