当前位置: 首页 > 知识库问答 >
问题:

getline()在while循环条件下如何计算为true或false?

刘阳舒
2023-03-14

例如while(getline(,)

这种情况何时为真/假,为什么使用它们而不是其他情况?

共有1个答案

百里骏
2023-03-14

这种情况何时为真/假

给定std::getline()的留档,它表示返回值是操作中涉及的流的std::istream引用,因此该流如何计算为truefalse并不明显。

这是通过使用重载的cast操作符从std::ios类继承的bool来完成的
此类定义了指示当前流状态的状态标志,true将仅在流状态为good时进行评估,其他状态如eoffail将评估为false

为什么使用它们而不是其他情境条件?

高度相关Q

 类似资料:
  • Q.while循环条件是作为一个整体进行计算,还是在决定是否进入循环之前一次计算一个条件?

  • 我正在尝试制作一个简单的程序,它使用扫描器进行输入,并有一个while循环,该循环继续输入,直到输入结束字符为止。我想让扫描器接受输入并将一个字符串添加到堆栈列表中。我试图弄清楚为什么这段代码在键入空格时不终止while循环。

  • 我正在运行一个纸牌游戏,两个玩家轮流挑选纸牌,玩家向前移动许多空格。在这种情况下,一旦任何一个玩家达到25或更大的数字,他们击中了家,游戏应该停止。 我的while循环在两个玩家都达到25后继续循环,即使我已经设置了条件,在玩家1的值小于25或玩家2的值小于25时循环。 当循环条件出了什么问题? 编辑:这是我运行的一个测试的一些输出。

  • 我希望当用户的输入是非整数值、小于1的整数值或大于3的整数值时执行time循环。一旦输入有效,我将使用它。但是,循环仅在用户输入非整数值时起作用。我已经检查了逻辑,我仍然不确定出了什么问题。 代码:

  • 编辑:重新措辞 我有一个账户列表:帐户 当我总结这份清单时,我得到了账户数量和账户总价值的概述 名称摘要 我添加了马克,因为他现在将是一个帐户所有者,但他目前没有任何帐户。 第一步是查看每个人应该拥有的账户的平均数。有25个账户,5个所有者,所以每个人都应该有5个账户。总价值为15600英镑,共有5名所有者,因此每个人的账户价值应该在3120英镑左右。这是一个估计值,所以我对它稍微偏离一点没意见。

  • 问题内容: 我已经用Java编程了几年了,但是最近我刚回到学校获得了正式学位。得知我在上一次作业中因使用如下所示的循环而丢了积分,我感到非常惊讶。 现在,对于我的测试,我只是在扫描一些控制台输入,但是我被告知不鼓励这种循环,因为使用break类似于goto,我们只是不这样做。 我完全了解及其表亲的陷阱,并且我有很好的意识不使用它们。我还意识到,一个更完整的程序可以提供其他一些逃生方法,例如只是结束