cin java_Cin在一个循环中

所以,我环顾四周,并且在我的While循环期间无法弄清楚cin发生了什么 . 我正在阅读C Primer(第5版)这本书,我注意到在其中一个练习中我不能使用cin来抓取字符串而不会终止while循环 . 我通过使用getline()解决了这个问题 .

当前练习的目标是从0到15的值请求用户输入,并将该数字转换为它的“Hex Equivelant”(其中0 = 1,1 = 2,2 = 3,...,10 = A,11 = B) . 我试着在没有这本书的情况下做到这一点并且失败了,但后来又开始质疑书中的代码 . 这是本书中的代码:

//Note: and have been included. using namespace std is used

const string hexdigits = "0123456789ABCDEF";

cout << "Enter a series of numbers between 0 and 15"

<< " separated by spaces. Hit ENTER when finished: "

<< endl;

string result;

string::size_type n;

while(cin >> n)

if (n < hexdigits.size())

result += hexdigits[n];

cout << "Your hex number is: " << result << endl;

如果我要运行这个代码,它会永远不会在输入任何代码之后终止while循环(基本上给出了我想的空白输入?) .

我有两个原因:

1)为什么这段代码不起作用? 2)我希望在正确的方向上轻推,但不是如何让这个代码正确执行的答案

如果我不能在不妥协理由2的情况下收到理由1,我宁愿让理由1得到满足 .

快速编辑:我很抱歉,我正在使用Visual Studio 2012

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值