关于C++ 从命令行输入数据 常用输方法cin的一些理解总结
2016-12-02 11:21
881 查看
一 背景:
实现从命令行输入 不定长度的数字,求和的简单功能;
方法1:
这是最简单的方法,但是缺点在于:如注释所示,在Windows系统下只能以Ctrl+Z或其他非data的类型的输入作为输入结束符,常用的Enter键不能作为结束符。
疑问:会不会是因为输入数据data类型是int类型引起的呢?
测试1:
预期结果:当输入Enter键后,会跳出while循环。但是结果是while循环一直在执行,跳不出。
猜想的结论:可能cin这个对象调用运算符>>时,会忽略Enter键的。
二 查阅资料 得到结论:
1 常用的cin、cout是类的对象
2 用cin输入的数据会先保存到缓冲区中,刷新缓冲区的方法有多种方法,其中Enter键的输入就是其中一种刷新缓冲区的方法。
cin对象有很多类函数和操作符,其中“>>”就是一种输入操作符。用这种方法进行输入时,Enter首先会引起缓冲区的刷新,但是缓冲区中并不包括输入的Enter。也就是,cin>>会忽略输入的Enter键。
3 cin对象的get()函数实现字符的输入,并不会忽略Enter键。那么实现背景中的以Enter键结束输入就可以用get()实现。
get()函数有5中重载类型,如下图:
其中最常用的是前两种:
1> get(),从缓冲区中读取一个字符,返回该字符的ascii码。
2> get(char &c) 从缓冲区中读取一个字符,保存到变量c中。
4 实现功能 :输入数字以空格间隔,以Enter键结束输入
实现从命令行输入 不定长度的数字,求和的简单功能;
方法1:
这是最简单的方法,但是缺点在于:如注释所示,在Windows系统下只能以Ctrl+Z或其他非data的类型的输入作为输入结束符,常用的Enter键不能作为结束符。
疑问:会不会是因为输入数据data类型是int类型引起的呢?
测试1:
预期结果:当输入Enter键后,会跳出while循环。但是结果是while循环一直在执行,跳不出。
猜想的结论:可能cin这个对象调用运算符>>时,会忽略Enter键的。
二 查阅资料 得到结论:
1 常用的cin、cout是类的对象
2 用cin输入的数据会先保存到缓冲区中,刷新缓冲区的方法有多种方法,其中Enter键的输入就是其中一种刷新缓冲区的方法。
cin对象有很多类函数和操作符,其中“>>”就是一种输入操作符。用这种方法进行输入时,Enter首先会引起缓冲区的刷新,但是缓冲区中并不包括输入的Enter。也就是,cin>>会忽略输入的Enter键。
3 cin对象的get()函数实现字符的输入,并不会忽略Enter键。那么实现背景中的以Enter键结束输入就可以用get()实现。
get()函数有5中重载类型,如下图:
其中最常用的是前两种:
1> get(),从缓冲区中读取一个字符,返回该字符的ascii码。
2> get(char &c) 从缓冲区中读取一个字符,保存到变量c中。
4 实现功能 :输入数字以空格间隔,以Enter键结束输入
相关文章推荐
- 关于C++中输入函数cin的一些总结
- C++基础:各种输入方法总结,cin、cin.get()、cin.getline()、getline()、gets()、getchar()
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于测试中常用到的一些方法、策略总结
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- C++基础:各种输入方法总结,cin、cin.get()、cin.getline()、getline()、gets()、getchar()
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- C++基础:各种输入方法总结,cin、cin.get()、cin.getline()、getline()、gets()、getchar()
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于测试中常用到的一些方法、策略总结
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。
- 关于各种输入输出流的二次理解总结 ,以及输入的三种方法总结。