如何强制 std::stringstream 运算符 >> 读取整个字符串?

2023-11-23

如何强制 std::stringstream 运算符 >> 读取整个字符串而不是停在第一个空格处?

我有一个模板类,用于存储从文本文件读取的值:

template <typename T>
class ValueContainer
{
protected:
  T m_value;

public:
  /* ... */
  virtual void fromString(std::string & str)
  {
    std::stringstream ss;
    ss << str;
    ss >> m_value;
  }
  /* ... */
};

我尝试过设置/取消设置流标志,但没有帮助。

澄清

该类是一个容器模板,可以自动与 T 类型进行转换。字符串只是该模板的一个实例,它还必须支持其他类型。这就是为什么我想强制运算符 >> 模仿 std::getline 的行为。


由于当 T=string 时,>> 不能满足我们的要求,我们可以为 [T=string] 的情况编写一个特定的函数。这可能不是正确的解决方案。但是,正如解决方法所提到的。

如果不能满足您的要求,请纠正我。

我写了一个示例代码如下:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

template <class T>
class Data
{
    T m_value;
    public:
    void set(const T& val);
    T& get();
};

template <class T>
void Data<T>::set(const T& val)
{
    stringstream ss;
    ss << val;
    ss >> m_value;
}

void Data<string>::set(const string& val)
{
    m_value = val;
}

template <class T>
T& Data<T>::get()
{
    return m_value;
}

int main()
{
    Data<int> d;
    d.set(10);
    cout << d.get() << endl;

    Data<float> f;
    f.set(10.33);
    cout << f.get() << endl;

    Data<string> s;
    s.set(string("This is problem"));
    cout << s.get() << endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制 std::stringstream 运算符 >> 读取整个字符串? 的相关文章

  • 带有 Windows 窗体应用程序的地图

    我正在构建一个需要地图的 C Winforms 应用程序 例如 Google 地图 Bing 地图等 但我对 ToU 许可 非商业使用等感到非常困惑 我的问题 您建议将哪个地图提供商 最好是免费的 嵌入到 winforms 应用程序中以用于
  • 类变量在其定义范围内?

    这可能是一个愚蠢的问题 我正在尝试制作文本泥 我需要每个 Room 类包含其他 Room 类 以便在尝试移动到它们或从它们获取信息时可以引用 但是 我不能这样做 因为我显然无法在其定义中声明一个类 那么 我该怎么做呢 当我说我做不到时 我的
  • 实体框架 - sql server 表中未设置默认值

    SQL Server 2005 数据库表有一列 createdon 其默认值设置为 getdate 我正在尝试使用实体框架添加记录 createdon 列未更新 我是否错过了实体框架中的任何属性 请提出建议 这是实体框架存在的少数问题之一
  • 如何在自定义保存操作 WFFM 中获取 Sitecore.Current.Site 对象?

    我在用着面向营销人员的 Sitecore 网络表单 在里面save action我得到的表格Sitecore Context Site对象 但该对象没有返回正确的上下文 该值为 modules shell 有谁知道我如何才能获得正确的上下文
  • C++ 编译器可以对结构中的元素重新排序吗

    C 编译器 特别是 g 可以对结构体的内部元素重新排序吗 我看到一些奇怪的行为 其中我有一个包含如下内容的结构 Struct SomeStruct long someLong long someLongArray 25 unsigned l
  • 查找周边上的点来表示边界/形状

    我有一个简单的二维网格 其格式为myGrid x y 我正在尝试找到一种方法来找到所选网格周围的周长 这样我就有了所选网格的形状 这是我的意思的一个例子 这里的想法是找到所有相关的 角点 也就是图像周边的红点 放入一个列表中 这样我就可以从
  • ctypes.ArgumentError:不知道如何转换参数

    我在C库中定义了一个函数 如下所示 int Test char str1 int id1 char str2 float val float ls 我想在Python中使用它 所以我编写了以下Python代码 str1 a str2 b i
  • 轮廓积分算法 C++

    我正在尝试编写一个应用数学程序来计算复平面中的轮廓积分 对于初学者来说 我想为梯形方法编写一个算法 但我有点坚持理解它会是什么样子 毕竟 我们通常将梯形方法视为 2D 图 而这里我们有 f C gt C 所以我们谈论的是 4D 最终我希望用
  • C# 委托实例化与仅传递方法引用 [重复]

    这个问题在这里已经有答案了 我有一个简单的问题 与仅传递函数引用相比 实例化 C 委托有什么优势 我的意思是 Why do Thread t new Thread new ThreadStart SomeObject SomeMethod
  • C# - 如何从 Steam 交易 API 获取图标的 URL(编码)

    以下是 API 为每个项目返回的 XML 部分
  • 在 C++ 中从另一个数组初始化结构内的数组[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions struc
  • 驱蚊程序?

    不 我认真的 最近 我读到 当电脑的压电蜂鸣器以一定频率振动时 声音可以驱赶蚊子 真的吗 如何以编程方式访问 PC 蜂鸣器 而不是扬声器 最好使用 C 我不知道有没有蚊子 但我的头疼得要命 啊啊 using System Runtime I
  • 在 .NET Core 上通过 MEF 将参数传递给插件构造函数?

    我花了几个小时试图弄清楚如何通过 MEF System Composition 将参数传递给插件构造函数 但一切都无济于事 不用说 相关文档很少 查看源代码也没有帮助 这曾经非常容易做到 使用 CompositionHost Compose
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • 在浏览器中测试wcf服务

    我无法在浏览器中调用基本的 wcf web 方法 即使使用
  • 向量和常量

    考虑一下这个 void f vector
  • 如何在 ASP.NET MVC 中获取参数数组作为 GET / POST?

    如何最好地获取数组 item gt value 对作为 GET POST 参数 在 PHP 中 我可以这样做 网址 这得到的参数为 Array a gt Array one gt 100 two gt 200 有什么方法可以在 ASP NE
  • wpf中的图像问题(图像不显示)

    我不明白为什么我无法在 WPF 中显示图像 也许我不小心修改了我的资源文件夹 这就是我没有显示的原因 所以我创建了一个新的 wpf 应用程序 我有这个 当我运行该程序时 我的图片显示为 为什么当我尝试在程序中执行相同的操作时 图像没有显示
  • 在 C++11 中设置 std::thread 优先级的可移植方法

    在后 C 11 世界中设置 std thread 实例的优先级的正确方法是什么 是否有一种至少在 Windows 和 POSIX Linux 环境中有效的可移植方法 或者是获取句柄并使用可用于特定操作系统的任何本机调用的问题 无法通过 C
  • 文件按文件名模式存在

    我在用 File Exists filepath 我想做的是将其替换为模式 因为文件名的第一部分发生了变化 例如 该文件可以是 01 peach xml 02 peach xml 03 peach xml 如何根据某种搜索模式检查文件是否存

随机推荐

  • 一点到这条曲线的最短距离

    我需要找到多个点到以下形式的曲线的距离 f x a k bx 我的第一个选择是使用它的导数 使用导数的倒数形式的线 给出它的坐标Point并将其与原始曲线相交 最后 我们用简单的几何计算点之间的距离 这就是我通常遵循的数学过程 我需要节省时
  • 在证书上,主题AltName 中的电子邮件地址应为什么类型

    一点背景 我正在建造一个证书颁发机构使用 M2Crypto 和 Django 所以请在投票之前三思而后行 将其视为题外话 我的方法是 最终用户通过电子邮件地址进行识别 并且他们的自签名信任锚显然是由他们自己发布的 但我应该如何存储他们的 身
  • XML 中的转义双引号字符

    xml中的双引号是否有转义字符 我想写一个标签 例如
  • 最短超串搜索的更有效算法

    我下面的问题是 NP 完全的 但是 我试图找到至少稍微快一点的字符串搜索函数或模块 与现在相比 它可能有助于减少一些计算时间 任何建议 将不胜感激 连接的 尽可能长的 超字符串是 AGGAGTCCGCGTGAGGGAGGTGTAGTGTAG
  • 如何在 python 中构造列表项的集合?

    我有一个listpython 中的文件名 我想构造一个set从所有文件名中 filelist for filename in filelist set filename 这似乎不起作用 怎么能做到这一点呢 如果您有一个可哈希对象的列表 文件
  • 为什么分支名称不能在开头包含“#”字符?

    这个 git checkout b 1 my awesome feature 产生错误 error switch b requires a value 用反斜杠转义或用引号括起来都可以 git checkout b 1 my awesome
  • 在 Symfony2 中验证密码

    我正在尝试在 Symfony2 中整合更改密码功能 我有一个 当前密码 字段 一个 新密码 字段和一个 确认新密码 字段 我当前关注的部分是验证 当前密码 字段 顺便说一句 我现在意识到像这样的事情FOSUserBundle存在 可以为我处
  • 如何在 Laravel 5+ 中获取客户端 IP 地址

    我正在尝试在 Laravel 中获取客户端的 IP 地址 在 PHP 中使用以下命令可以轻松获取客户端的 IP SERVER REMOTE ADDR 它在核心 PHP 中工作正常 但是当我在 Laravel 中使用相同的东西时 它返回服务器
  • 在浏览器下载中保留 UTF-8 BOM

    我有一个 JAX RS REST Service 它生成 CSV 文件并将其流回浏览器 一切都设置为 UTF 8 所以我通过浏览器下载的文件也是一个有效的 UTF 8 文件 没有 BOM 它在 Notepad Sublime 等中向我显示有
  • java.lang.IllegalArgumentException:当前应该 >= start 且 <= end

    我正在尝试在 android 中的按钮上实现日期选择器 但一旦我点击按钮 错误就会弹出 但时间选择器运行良好 这是代码 mPickDate setOnClickListener new View OnClickListener Assign
  • 从 ggplot2 图例中删除“点”元素

    示例代码 EmigProb lt c rep seq 0 1 0 8 length 5 4 rep seq 0 1 0 8 length 5 4 RemainEmigProb lt c rep 0 2 5 rep 0 4 5 rep 0 6
  • Python 中基于 Web 的聊天服务器的教程 [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在做一个网络课程的家庭作业项目 我们必须用 C C 或 Python 构建一个简单的基于 Web 的聊天服务器 我选择 Python 是因为我认
  • AVCaptureSession stopRunning 方法会造成严重的挂起

    Using iOS 7 教程第 22 章中的 Raywenderlich 二维码阅读器 我成功读取当前应用程序的二维码 我现在扩展它 在成功读取二维码后 我想存储stringValue of the AVMetadataMachineRea
  • 间隔顺序统计

    给定一个数字数组a 0 a 1 a n 1 我们得到这样的查询 output k 范围内的最大数字a i a i 1 a j 这些问题能否在多对数时间内得到回答 在n 每个查询 如果不是 是否有可能对结果进行平均并仍然获得良好的摊余复杂度
  • 具有直接像素访问的 Opencv 颜色映射

    我有一个灰度图像 我想通过将灰度值映射到调色板 如 Matlab 中的颜色图 来以彩色显示 我设法使用 OpenCV 做到了cvSet2D函数 但出于性能原因我想直接访问像素 但当我这样做时 图像有奇怪的颜色 我尝试以不同的顺序设置颜色 R
  • WPF 中文本框中的 ScrollToCaret 位于何处?

    我无法找到该功能 基本上我有一个多行文本框 当我执行搜索时 我会突出显示结果 但是 如果结果不在视图中 我将不得不手动向下滚动 直到找到突出显示的结果 这超出了 查找 功能的目的 我不想使用 RichTextBox 因为我遇到了一些性能问题
  • PHP PDO 获取 null

    如何检查列值是否为空 示例代码 db DBCxn getCxn sql SELECT exercise id author id submission result submission time total rating votes to
  • 单击按钮时呈现部分视图

    我有索引视图 using System Web Mvc Html model MsmqTestApp Models MsmqData Scripts jquery unobtrusive ajax min js type text java
  • python子进程Popen环境路径?

    假设有一个可执行文件和一个用于启动它的 Python 脚本 并且它们位于 兄弟 子目录中 例如 tmp subdir1 myexecutable tmp subdir2 myscript py If in tmp和跑步python subd
  • 如何强制 std::stringstream 运算符 >> 读取整个字符串?

    如何强制 std stringstream 运算符 gt gt 读取整个字符串而不是停在第一个空格处 我有一个模板类 用于存储从文本文件读取的值 template