C++ cin 实现循环读入
习惯了使用while(~scanf("%d",x)){}
来实现循环读入,但是有时候使用泛型编程的时候就必须使用C++中的cin
,但是当我想要实现循环读入的时候却发现有些困难。
我们可以看一下下面这个简单的例子:
#include <iostream>using namespace std;int main()
{int n;while(cin>>n){cout<<n<<endl;}int x;cout<<"请输入x:"; cin>>x;cout<<"x的值为"<<x<<endl;return 0;
}
运行结果:
这和我们想要的不一样。为了能够使用cin
进行循环读入,就必须使用cin
的一些成员函数
实际上我们使用cin
读取失败以后会有一个错误的标志位,cin.fail()
将会为真。如果我们不清除的话是没有办法再使用cin
的。因此使用失败后应该cin.clear()
方法清除标志位
但是此时还是不能正常读取,这是因为缓冲区中仍然是那个错误的输入,为了解决这个问题,我们可以使用cin.ignore()
清除缓冲区,这样就可以重新输入啦。
这两个方法还可以带参数,但是简单使用的话不用考虑那么多。
然后我们就能够使用cin
循环读入啦。
#include <iostream>using namespace std;int main()
{int n;cin>>n;while(cin.fail() == false)//没有发生错误{cout<<n<<endl;cin>>n;}cin.clear(); cin.ignore();int x;cout<<"请输入x:"; cin>>x;cout<<"x的值为"<<x<<endl;return 0;
}
运行结果
C++ cin 实现循环读入相关推荐
- 神奇的输入 while(cin....)如何在遇见换行之后进入下一层循环读入
1 cin>>m>>n; 2 for(int i=1;i<=m;i++) { 4 int x=0; 5 char ch=' '; 6 while(ch!=10) //在遇 ...
- C++下ctrl+z退出cin输入循环
ctrl+z 退出输入的循环结构 测试的语言及工具 for循环 while循环 do while循环 进一步探究ctrl+z在变量内部储存为什么 几天后的继续 测试的语言及工具 C++ visual ...
- cin和scanf读入速度
cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说这两种方法可以混用,而不必担心文件指针混乱,同时cout和stdout也一样,两者混用不会输出顺序错乱.正因为这个兼容性的 ...
- C++读入txt,写入txt,循环读入txt,循环写入txt
目录 1普通读写 2循环读写(存在小瑕疵) 3.循环读写(解决小瑕疵) 1普通读写 #include<iostream> #include<fstream> #include& ...
- C语言实现循环读入txt文件
网上查了很多相关知识的资料,基本上都是自定义函数或者使用C语言库自带的函数进行的读取,我主要是使用字符串连接的方法来实现读取文件夹下多个txt文件. 主要我本人擅长使用C++,使用网上的Grain加密 ...
- bash shell 循环读入每一行(转)
由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,因为当行里有空格的时候,输出的结果会很乱,所以-- cat line.txt |while read i > do > ...
- C++输入输出:cin/cout 还是 scanf/printf?
相信使用C++的人都有一种迷惑或者是不自信:在输入输出的时候是不是应该使用scanf/printf更好呢,因为传说cin/cout龟速,我当时也长期被这个所困扰,后来在阅读C++ primer第五版的 ...
- java 大数的学习
import java.math.*; import java.util.*;public class study {public static void main(String[] args) {/ ...
- C++Primer学习笔记:第1章 开始
本博客为阅读<C++ Primer>(第5版)的读书笔记 ps:刚开始的时候我将所有的笔记都放在一篇博客中,等看到第六章的时候发现实在是太多了,导致我自己都不想看,为了日后回顾(不那么有心 ...
最新文章
- postgres 入门
- 定位的准确度与精度指标定义——RMS,CEP,Sigma
- 东大18秋计算机网络在线作业1答案,东大17秋学期《计算机网络基础》在线作业3 免费答案...
- Python 图像处理篇-利用opencv库和numpy库读取包含中文路径下的本地图片实例演示
- 你真的懂 timeout 吗?
- iOS开发-XMPP
- Python实现二叉搜索树
- 浅析游戏AI设计模式
- 2020数据分析人才及CDA持证人行业报告
- C#-概念-类库:类库
- oracle 批量修改同义词,Oracle批量创建同义词
- Error: ImageIO: PNG invalid PNG file: iDOT doesn't point to valid IDAT chunk
- UVC Extension Unit 相关资料整理
- 印度黑客号称世界第一,结果第二天被中国黑客干掉了
- VUEX模块化不同模块调用其它模块的mutations报错: [vuex] unknown mutation type: XXX
- Spring Boot WebSocket实时监控
- pstack使用和原理
- 【Python】基于文本匹配的微信自动问答
- --i和i--的区别
- 习题5-7 使用函数求余弦函数的近似值 (15分)
热门文章
- day04_09 while循环03
- 2017年07月03号课堂笔记
- C++实例讲解Binder通信
- linux里的进程简介
- java 获取随机数字的三种方法
- [转]深入浅出Java设计模式之备忘录模式
- 2011年:签到已死?
- android音量图标不见了,电脑声音图标不见了如何解决?
- python众数问题给定含有n个元素的多重集合s_分治法求众数 给定含有n个元素的多重集合S 联合开发网 - pudn.com...
- python与材料计算公式_《从问题到程序:用Python学编程和计算》——2.11 补充材料-阿里云开发者社区...