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 并清除后不再读取 的相关文章

  • WPF 中的屏幕分辨率问题?

    我将在 WPF 中使用以下代码检测分辨率 double height System Windows SystemParameters PrimaryScreenHeight double width System Windows Syste
  • 在 VS2017 下使用 Conan 和 CMake 项目进行依赖管理

    我正在尝试使用 CMake 与 VS2017 集成为 C 设置一个开发环境 以便在 Linux x64 下进行编译 为了更好地管理依赖关系 我选择使用 Conan 但我对这个软件还很陌生 我想知道让 VS2017 识别项目依赖关系的最佳方法
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 如何尝试/捕获所有异常

    我正在完成由其他人启动的 UWP 应用程序 该应用程序经常崩溃 我总是陷入困境应用程序 at if global System Diagnostics Debugger IsAttached global System Diagnostic
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • mprotect 之后 malloc 导致分段错误

    在使用 mprotect 保护内存区域后第一次调用 malloc 时 我遇到分段错误 这是执行内存分配和保护的代码片段 define PAGESIZE 4096 void paalloc int size Allocates and ali
  • SFINAE 如何使用省略号?

    过去 当使用 SFINAE 选择构造函数重载时 我通常使用以下内容 template
  • 如何生成 appsettings..json 文件?

    我有一个 ASP NET Core 2 WebAPI 它将部署在以下环境中 INT QA STAGE 生产环境 基于上述 我需要有appsettings
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 将带有 glut 的点击坐标添加到向量链接列表中

    我想创建一个向量链接列表 并在 GLUT 库的帮助下获取点击的位置并将它们附加到链接列表中 这些是我写的结构 typedef struct vector int x int y Vector typedef struct VectorLis
  • 为什么 clang 使用 -O0 生成低效的 asm(对于这个简单的浮点和)?

    我正在 llvm clang Apple LLVM 版本 8 0 0 clang 800 0 42 1 上反汇编此代码 int main float a 0 151234 float b 0 2 float c a b printf f c
  • 使用 WF 的多线程应用程序的错误处理模式?

    我正在写一个又长又详细的问题 但只是放弃了它 转而选择一个更简单的问题 但我在这里找不到答案 应用程序简要说明 我有一个 WPF 应用程序 它生成多个线程 每个线程执行自己的 WF 处理线程和 WF 中的错误 允许用户从 GUI 端进行交互
  • 分配器感知容器和propagate_on_container_swap

    The std allocator traits模板定义了一些常量 例如propagate on container copy move assign让其他容器知道它们是否应该在复制或移动操作期间复制第二个容器的分配器 我们还有propag
  • tabcontrol selectedindex 更改事件未被触发 C#

    嘿伙计们 我有一个很小的问题 请参阅下面的代码 this is main load private void Form1 Load object sender EventArgs e tabAddRemoveOperator Selecte
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • 为什么要在 C++ 中使用 typedef?

    可以说我有 set
  • C 中带有指针的结构的内存开销[重复]

    这个问题在这里已经有答案了 我意识到当我的结构包含指针时 它们会产生内存开销 这里有一个例子 typedef struct int num1 int num2 myStruct1 typedef struct int p int num2
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • C语言声明数组没有初始大小

    编写一个程序来操纵温度详细信息 如下所示 输入要计算的天数 主功能 输入摄氏度温度 输入功能 将温度从摄氏度转换为华氏度 独立功能 查找华氏度的平均温度 我怎样才能在没有数组初始大小的情况下制作这个程序 include
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过

随机推荐

  • 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 使流恢复正常