当前位置:网站首页>输入输出流总结
输入输出流总结
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'吃不吃掉都无所谓
运行结果:
这样就对了
边栏推荐
- 如何通过使用“缓存”相关技术,解决“高并发”的业务场景案例?
- 蓝牙技术|上半年全国新增 130 万台充电桩,蓝牙充电桩将成为市场主流
- "C pitfalls and pitfalls" reading summary
- Rust 从入门到精通04-变量
- 如何在ubuntu环境下安装postgresql并配置远程访问
- 九州云出席领航者线上论坛,共话5G MEC边缘计算现状、挑战和未来
- [The Art of Hardware Architecture] Study Notes (1) The World of Metastability
- 杭电校赛(ACM组队安排)
- 开发者独立搭建一个跨模态搜索应用有多难?
- 快解析结合千方百剂
猜你喜欢
随机推荐
实际工作中的高级技术(训练加速、推理加速、深度学习自适应、对抗神经网络)
C# winforms 输入颜色转换颜色名
Makefile syntax and usage notes
两款移相振荡器的对比
没有Project Facets的解决方法
理论篇1:深度学习之----LetNet模型详解
世间几乎所有已知蛋白质结构,都被DeepMind开源了
九州云出席领航者线上论坛,共话5G MEC边缘计算现状、挑战和未来
Almost all known protein structures in the world are open sourced by DeepMind
异步编程概览
杭电校赛(ACM组队安排)
如何通过使用“缓存”相关技术,解决“高并发”的业务场景案例?
《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出
License server system does not support this version of this feature
MPLS experiment
信创是什么意思?涉及哪些行业?为什么要发展信创?
AVR学习笔记之熔丝位
F. Jinyu and its outer matrix (construction)
G.登山小分队(暴力&dfs)
[in-depth study of 4 g / 5 g / 6 g project - 50] : URLLC - 16 - the 3 GPP URLLC agreement, specification, technical principle of depth interpretation - 10 - high reliability technology - 1 - low codin