istream 提取运算符:如何检测解析失败?

2024-01-08

如何检测 istream 提取是否失败?

string s("x");
stringstream ss(s);
int i;
ss >> std::ios::hex >> i;

编辑——虽然问题标题涵盖了这一点,但我忘了在正文中提及:我真的想检测失败是否是由于格式错误(即解析)或由于任何其他 IO 相关问题造成的,以便提供正确的解决方案反馈( malformed_exception("x") 或其他)。


if(! (ss >> std::ios::hex >> i) ) 
{
  std::cerr << "stream extraction failed!" << std::endl;
}

就是这么简单。

ETA:这是此测试如何与流末尾交互的示例。

int i;
std::stringstream sstr("1 2 3 4");
while(sstr >> i)
{
    std::cout << i << std::endl;
    if(sstr.eof())
    {
        std::cout << "eof" << std::endl;
    }
}

将打印
1
2
3
4
eof

如果你要检查sstr.eof() or sstr.good()在 while 循环条件下,4 将不会被打印。

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

istream 提取运算符:如何检测解析失败? 的相关文章

  • 通过 SocketCAN 进行 boost::asio

    我正在考虑利用升压阿西奥 http www boost org doc libs 1 49 0 doc html boost asio html从a读取数据套接字CAN http en wikipedia org wiki SocketCA
  • 在实体框架拦截器中向 DbScanExpression 添加内部联接

    我正在尝试使用实体框架 CommandTree 拦截器通过 DbContext 向每个查询添加过滤器 为了简单起见 我有两个表 一个称为 User 有两列 UserId 和 EmailAddress 另一个称为 TenantUser 有两列
  • 何时使用 =default 使析构函数默认?

    尽管对构造函数使用 default 对我来说很清楚 即强制编译器在其他构造函数存在时创建默认构造函数 但我仍然无法理解这两种类型的析构函数之间的区别 那些使用 default 的 那些没有显式定义并由编译器自动生成的 我唯一想到的是 gro
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • 无法在内存位置找到异常源:cudaError_enum

    我正在尝试确定 Microsoft C 异常的来源 test fft exe 中 0x770ab9bc 处的第一次机会异常 Microsoft C 异常 内存位置 0x016cf234 处的 cudaError enum 我的构建环境是 I
  • 运行选定的代码生成器时出错:“未将对象引用设置到对象的实例。”错误?

    我已经尝试了所有解决方案 例如修复 VS 2013 但没有用 当您通过右键单击控制器文件夹来创建控制器并添加控制器时 然后右键单击新创建的控制器的操作并选择添加视图 当我尝试创建视图时 就会发生这种情况 它不是一个新项目 而是一个现有项目
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • 在 EnvDTE 中调试时捕获 VS 局部变量

    是否可以使用 EnvDTE 进行 vsix Visual Studio 扩展来捕获本地和调试窗口使用的调试数据 或者可以通过其他方法吗 我想创建一个自定义的本地窗口 我们可以修改它以根据需要显示一些较重的内容 而无需为高级用户牺牲原始的本地
  • cout 和字符串连接

    我刚刚复习了我的 C 我尝试这样做 include
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • 在简单注入器中解析具有自定义参数的类

    我正在使用以下命令创建 WPF MVVM 应用程序简易注射器作为 DI 容器 现在 当我尝试从简单注入器解析视图时遇到一些问题 因为我需要在构造时将参数传递到构造函数中 而不是在将视图注册到容器时 因此这不是适用的 简单注入器将值传递到构造
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo
  • ASP.NET Core MVC 视图组件搜索路径

    在此处的文档中 https learn microsoft com en us aspnet core mvc views view components view aspnetcore 2 2 https learn microsoft
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用

随机推荐

  • Gradle 构建找不到包“java.net.http”

    我已经在 Intellij 中建立了一个 Java 项目 当我在 Intellij 中构建我的项目时 一切正常 但是当我尝试使用命令行构建它时gradle build在项目目录中 Gradle 抱怨找不到 java net http 包 这
  • 使用 javascript 从数组中删除重复的对象

    我试图找出一种有效的方法来删除数组中重复的对象 并寻找最有效的答案 我环顾互联网 一切似乎都在使用原始数据 或者对于大型数组来说不可扩展 这是我当前的实现 可以改进并且希望尝试避免标签 Test prototype unique funct
  • 使用 Spring 和 Hibernate 的嵌套事务

    在我的应用程序中 有多个步骤 其中许多提交将通过多种方法按顺序进行 例子 A gt B gt C gt D gt E gt F gt G A 调用 B B 调用 C 然后 B 调用 D D 调用 E 依此类推 所有这些方法都有一些数据库操作
  • T-SQL 条件排序依据

    我正在尝试编写一个存储过程 它返回一个对象列表 其中包含用户选择的排序顺序和排序方向并作为 sql 参数传入 假设我有一个包含以下列的产品表 product id int name varchar value int created dat
  • 为什么这个 Javascript DOM 代码只能在 FF 上运行,而不能在 IE 上运行?

    create an instance of the XML parser if window ActiveXObject Checking if the browser is IE xmlDoc new ActiveXObject Micr
  • 为什么 innerHTML 返回“未定义”?

    我试图捕捉这个 div 中的 值 它是可编辑的 div class editable div Hey div 我想我可以通过 JavaScript 简单地做到这一点 var changedText editable div innerHtm
  • Iphone Textview 不调用 TouchesBegan

    我有一个文本字段 当我触摸屏幕上的其他位置时 通过我的 TouchesBegan 函数并辞职 等等 它会隐藏键盘 但是当我触摸 Textview 时 TouchesBegan 不会被调用 键盘也不会隐藏 有没有办法调用 TouchesBeg
  • F# 记录类型的序列化

    我知道如何使用可变对象在 F 中序列化 但是有没有办法使用 XmlSerializer 或 DataContractSerializer 使用记录类型进行序列化 反序列化 看起来有一种方法可以使用 KnownType 属性为有区别的联合执行
  • 随机密码生成器上的 OpenMP 多线程

    我正在尝试使用集成到 Visual Studio 2010 中的 OpenMP 多线程来制作快速密码生成器 假设我有一个基本的字符串生成器 它可以从字符串中随机提取字符 srand time 0 for i 0 i lt length i
  • PHP - 生成给定字符的所有可能组合

    Update 是的 我知道不建议将所有内容存储在单个数组中 我一次添加了 5000 个组合的限制 但出现了一个新问题 我可以得到前 5000 个组合 但我想不出任何东西可以生成其余的组合 5001 到 10000 10001 到 15000
  • 在 Spark scala 中将行转换为地图

    我有数据框中的一行 我想将其转换为 Map String Any 将列名称映射到该列的行中的值 有简单的方法吗 我是为字符串值做的 比如 def rowToMap row Row Map String String row schema f
  • 在程序重新启动之间保存状态

    如何声明一个可以永远保存刺痛的变量 我的意思是 如果用户关闭并重新启动程序 该字符串值不会丢失 如何才能做到这一点 有多种不同的方法来存储应用程序的状态 该方法实际上取决于您存储的数据类型和其他要求 Options Use the Sett
  • stanford corenlp,分割句子,缩写例外

    斯坦福 Corenlp 中有指定缩写的选项吗 例如句子中 The reason pt stayed at home was to rest pt 是病人的缩写 corenlp 错误地将其分成两个句子 我想知道如何将缩写列表传递给斯坦福大学的
  • 将 MAC 地址字节数组格式化为字符串

    我正在使用此代码来查找机器的 MAC 地址 此代码直接打印 MAC 地址 但我想将其作为字符串返回 我完全困惑了 请帮忙 try InetAddress add InetAddress getByName 10 123 96 102 Net
  • Asp.net core blazor 与 .net core mvc with razor

    使用 razor 与 blazor 之间的架构差异是什么 文档建议我在使用 blazor 时必须编写一个 Web Api 是否仍然可以像传统 razor 一样传递模型对象 0 带有视觉解释的视频 我决定制作一个视频 因为有人问了有关 Bla
  • 具有输出绑定到队列的 Http 触发功能

    我在 Net5 中有一个http 触发函数 隔离函数 我很难让输出绑定适用于此 https 函数 https 函数检索对象列表 这些对象需要作为单独的消息添加到队列中 FunctionName TestQueueOutput return
  • 在 EF4 中按 ID 选择通用存储库

    因此 我尝试为基本存储库类创建一个通用的按 ID 选择方法 为了实现这一目标 我将 EF4 与 POCO 结合使用 我创建了一个带有名为 Id 的 getter 的接口 并成功修改了 T4 模板 以便在返回 PK 的所有实体中拥有通用 Id
  • 尝试在 Github .md 文件上渲染图表时出现 Mermaid 语法错误

    我已经关注了这个美人鱼教程 https mermaid js github io mermaid sequenceDiagram但是当我尝试将其放入 Github 上的 md 文件时 会出现错误 这完美地适用于现场编辑 https merm
  • 我什么时候应该关闭在无状态会话 bean 中创建的 JMS 连接?

    我有一个关于何时关闭在无状态会话 Bean EJB 中创建的连接的一般性问题 连接到 ActiveMQ 并且它们是在 bean 的构造函数中创建的 然后在方法中使用该连接 我想知道关闭该连接的适当时间 地点是什么时候 有一个单独的方法来关闭
  • istream 提取运算符:如何检测解析失败?

    如何检测 istream 提取是否失败 string s x stringstream ss s int i ss gt gt std ios hex gt gt i 编辑 虽然问题标题涵盖了这一点 但我忘了在正文中提及 我真的想检测失败是