std::cin 在读取 EOF 并清除后不再读取

2024-02-21

我正在阅读以下内容std::cin with a while循环结束时EOF被介绍。退出循环后,我调用std::cin.clear()使流恢复正常并再次读取,但它没有进入第二个循环。

我已经检查过eofbit它被设置为false. The failbit被设定为false以及goodbit被设定为true. The gcout清除后是0。这是我正在运行的代码:

    while (getline(std::cin, person)) {
        // Do stuff until I enter ^D
    }
    std::cin.clear();

    // Adding std::cin >> person here doesn't work either

    while (getline(std::cin, person)) {
        // It never enters this loop
    }

我究竟做错了什么?


The std::cin.clear()命令清除 cin 中的错误标志,以便进一步的 I/O 操作能够正常工作。 clear 方法不会将 cin 重置为初始值。 std::cin 是一个流,因此您只能读取一次内容。

在这种情况下,我的建议是将读取的行存储在字符串或字符串数​​组中,或者以您喜欢的方式存储,然后从存储的数据中读取它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

std::cin 在读取 EOF 并清除后不再读取 的相关文章

随机推荐

  • Swift tableView insertRows 在顶部,同时保持正确的索引

    Problem 我需要顶部填充tableView 以保持现有单元格的内容加载 例如播放视频 ref child live mode queryOrderedByKey queryLimited toLast 200 observe chil
  • 为 WebdriverIO/Cucumber 框架生成 HTML 报告

    我在用WebdriverIO 黄瓜 https github com webdriverio wdio cucumber framework wdio cucumber framework 用于我的测试自动化 我想在 HTML 文件中获取测
  • 在 PhoneGap 平台上使用 OpenID

    我目前正在使用 PhoneGap 开发一个应用程序 我的应用程序使用 OpenID 来验证用户身份 成功验证用户身份后 它应该返回到我的应用程序 我已使用 location href 将页面重定向到本地地址 例如 iOS 应用程序的 fil
  • 为什么 XP 上的 IE8 无法使用 JQuery 正确读取 XML?

    在 data xml 中给出此 XML
  • 如何记录 Python 崩溃?

    我正在树莓派中运行 python 代码 该代码应该永远有效 然而 几个小时后它崩溃了 由于它在远程计算机上运行 因此我看不到它在崩溃期间给出的消息 如何将此消息存储在文件中以便我可以看到问题所在 这是在linux下自主执行的吗 或者我应该编
  • 从 nlohmann json 访问元素

    我的 JSON 文件类似于此 active false list1 A B C objList key1 value1 key2 0 1 现在使用 nlohmann json 我已经设法存储它 并且当我进行转储时jsonRootNode d
  • c# readonly DataGridView 与一个启用的单元格

    我有只读 datagridview 在某些特定情况下 我需要在双击行后启用一个单元格 使 readonly false 并将焦点放在当前行中的该特定单元格上 例如输入它 光标应该开始闪烁 I have private void dataGr
  • 检查文档状态 DocuSign

    如何检查文档是否已使用 DocuSign API 签名 是否存在可以让我了解文档状态的 API 服务 我尝试获取 已完成 文件夹中的所有对象 但响应不包含 documentId 并且我不知道每个对象是哪个文档 DocuSign 轨道接受者状
  • 有没有免费的库可以实现类似于MSMQ(Microsoft Message Queuing)的消息队列?

    我有兴趣使用一个免费库 该库具有类似于 MSMQ 的功能 可以在 win 表单应用程序中的 3 个应用程序域之间发送 接收消息 我只需要专用队列功能 没有公共队列或 AD 支持 请提供链接和一些优点 缺点 如果您认为需要更多积分来了解更详细
  • C语言中\n是多字符吗?

    我读到 n 由 CR 和 LF 组成 每个都有自己的 ASCII 代码 那么C中的 n是用单个字符表示还是多字符表示呢 Edit 请具体说明您的答案 而不是简单地说 是的 or 不 不是 在 C 程序中 它是一个字符 n 代表行尾 然而 某
  • JavaCV 录像机方向在纵向模式下不正确

    嗨 我正在使用https github com bytedeco javacv https github com bytedeco javacv 用于录制视频 使用横向模式时方向很好 但当我将方向更改为纵向模式时 视频旋转 90 度 任何人
  • 使用 NHibernate 时出错

    考虑到这个例子 https www hibernate org 362 html作为基本示例 我创建了该应用程序 但是当我执行该应用程序时出现以下错误 The ProxyFactoryFactory was not configured 使
  • 在 Bootstrap 4 中的模式中滚动下拉菜单

    我目前正在从 Bootstrap4 alpha 迁移到 Bootstrap4 stable 到目前为止 一切都很好 除了我的模态出现的这个问题 我在任何地方都使用下拉菜单 包括包含许多项目的下拉菜单 以前 滚动效果很好 现在它没有 当我滚动
  • 将 pandas 函数实现为 numpy 函数

    有没有办法可以转换xy mean使用 pandas 库计算的函数就像y mean功能 我发现 pandas 功能Y mean pd Series PC list rolling number mean dropna to numpy 比 n
  • 将字符串转换为 Uri

    如何在 Java Android 中将字符串转换为 Uri IE String myUrl http stackoverflow com myUri 您可以使用parse静态方法来自Uri import android net Uri Ur
  • 已知常微分方程的李亚普诺夫谱 - Python 3 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想用数值方法计算李亚普诺夫谱洛伦兹系统 https en wikipedia org wiki Lorenz syst
  • Azure 服务主体没有足够的权限来管理其他服务主体

    我可以使用 Azure 或从门户控制台使用以下命令创建服务主体az cli az ad sp create for rbac name myspuser password adfhrrreeuwrgwejdfgds 然后 我在订阅级别分配所
  • 如何设置“npm install”期间使用的环境变量?

    我们的合作网络非常封闭 所以正常的方法是 npm install email protected cdn cgi l email protection 不起作用 因为它被代理阻止 我们需要提供参数CYPRESS INSTALL BINARY
  • Pandas:每组最大值的索引

    我的熊猫数据框 df 看起来像这样 parameter1 parameter2 value 1 1 0 1 2 0 2 2 1 0 6 2 0 3 value是一个结果groupby parameter1 parameter2 mean 另
  • std::cin 在读取 EOF 并清除后不再读取

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在阅读以下内容std cin with a while循环结束时EOF被介绍 退出循环后 我调用std cin clear 使流恢复正常