关于C++ 从命令行输入数据 常用输方法cin的一些理解总结

本文总结了C++中从命令行使用cin输入数据时遇到的问题及解决方案。针对Enter键不能作为输入结束符的情况,通过探究cin的工作原理,发现cin>>会忽略Enter键。查阅资料后,推荐使用cin.get()函数,它可以捕获Enter键,从而实现以Enter键结束输入的功能。
摘要由CSDN通过智能技术生成

一 背景:

实现从命令行输入 不定长度的数字,求和的简单功能;

 方法1:


这是最简单的方法,但是缺点在于:如注释所示,在Windows系统下只能以Ctrl+Z或其他非data的类型的输入作为输入结束符,常用的Enter键不能作为结束符。

疑问:会不会是因为输入数据data类型是int类型引起的呢?

测试1:


预期结果:当输入Enter键后,会跳出while循环。但是结果是while循环一直在执行,跳不出。

猜想的结论:可能cin这个对象调用运算符>>时,会忽略Enter键的。


二 查阅资料 得到结论:

1 常用的cin、cout是类的对象


2 用cin输入的数据会先保存到缓冲区中,刷新缓冲区的方法有多种方法,其中Enter键的输入就是其中一种刷新缓冲区的方法。

cin对象有很多类函数和操作符,其中“>>”就是一种输入操作符。用这种方法进行输入时,Enter

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值