如何将 stringstream 内容放入 char 而不是 string 类型?

2023-11-27

大家都知道stringstream.str()需要一个字符串变量类型来存储内容stringstream.str()进去 。

我想存储的内容stringstream.str()转换为 char 变量或 char 数组或指针。

可以这样做吗?

请写一个简单的例子来回答你的问题。


为什么不只是

std::string s = stringstream.str();
const char* p = s.c_str();

?

编辑:请注意,您不能自由地给出p在你的函数之外:它的生命周期与s,所以您可能想要复制它。

编辑2:正如@David建议的那样,copy上述意味着复制内容,而不是指针本身。有几种方法可以实现这一点。您可以手动执行此操作(从 C“继承”的传统方式)——这是通过以下函数完成的std::strcpy。这种方式相当复杂,因为它涉及手动资源管理,而这通常是不鼓励的,因为它会导致更复杂且容易出错的代码。或者您可以使用智能指针或容器:它可以是std::vector<char> or std::unique_ptr/std::shared_ptr.

我个人会选择第二种方式。请参阅对此的讨论和@Oli 的回答,它可能很有用。

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

如何将 stringstream 内容放入 char 而不是 string 类型? 的相关文章

随机推荐

  • jQuery 更改所有子项的 id 属性

    我需要一些帮助来弄清楚如何编写一些 jQuery 代码 我需要动态克隆一个表 onclick 但随后我每次都需要更改表及其子元素的 id 由于该表可能有很多子项 因此手动执行此操作会很困难 我需要一种方法来更改所有子 所有后代 元素的 id
  • 如何在MySQL中从DATETIME中分离DATE和TIME?

    我正在存储一个DATETIME表中的字段 每个值看起来都像这样 2012 09 09 06 57 12 我正在使用这个语法 date Y m d H i s 现在我的问题是 在获取数据时 如何同时获取日期和时间分别地 使用单个 MySQL
  • 使用 JavaScript 打印多个 PDF 文件

    我想知道如何通过一次打印点击打印多个 PDF 文件 我可以轻松打印单个 PDF 文件 但当文件较多时我不知道如何打印 提前致谢 您可以致电print 在代码中多次出现 导致文件被一个接一个地打印 function PrintAll var
  • 为什么像“volatile int * p”这样的指向易失性的指针有用?

    volatile就是告诉编译器不要优化引用 这样每次读 写都不会使用寄存器中存储的值 而是进行真正的内存访问 我可以理解它对于某些普通变量很有用 但不明白如何volatile影响指针 volatile int p some addr int
  • 如何将 Bullet 物理应用于绘制的 Opengl 3d 形状

    我只是想知道是否有一种方法可以将子弹物理应用于 opengl 绘制的对象 使用 glVertex3f 或带有 glVertexAttribPointer 的三角形网格创建 我目前正在使用 jogl 和 jbullet 将物理应用到我的 3D
  • 尝试播放声音时出现“play() 失败,因为用户没有先与文档交互”错误 (javascript/html)

    我正在尝试使用 javascript 在网页上播放声音 但每当我这样做时 我都会收到上述错误 这是我的代码 if thing startsWith 0 var a new Audio audio mp4 a play 此外 如果您打开控制台
  • 如何设置 Elastic beanstalk Windows 应用程序的文件夹权限?

    我目前正在构建一个 C WebApi 2 应用程序 我将其上传到 Amazon Elastic Beanstalk 实例进行部署 到目前为止 我取得了成功 并且在我的本地计算机上 我刚刚完成了文件上传功能的测试 以便客户端上传图像 它的方式
  • 在 VirtualBox 来宾中运行 perf

    我的教授要求我跑步 perf stat e mem loads mem stores test 为了让我找到 C 文件的内存加载和存储 我在 VirtualBox Linux 来宾中执行此操作 问题是perf说这是无效或不受支持的事件 任何
  • 在 Clion 中启用 Cuda 代码索引

    我正在使用 Clion 开发 cuda 程序 当扩展名是 h 时 代码突出显示可以正常工作 但是 当它更改为 cuh 时 Clion 仅将新文件视为纯文本文件 并且我无法启用代码突出显示 我知道完整的 Cuda 工具链是不可能的 所以我不希
  • 为 Outlook 2007 构建表单

    我刚刚了解到 Outlook 表单的概念 我不知道这是否能解决我的问题 但这就是我想做的 我希望能够让公司内部的员工填写一些表格 那么我所要做的就是创建表单并将其推送到他们的 Outlook 中 他们填写表格后 我可以以某种方式捕获数据吗
  • WebAPI OData $格式转换为xml

    对于我的 WebAPI OData 应用程序 我试图让我的客户端 浏览器 决定数据输出应该采用什么格式 作为 format尚未在 WebAPI OData 中实现 我在这里使用 Raghuramn 的示例 https gist github
  • React + Typescript:如何输入 event.target.name 来声明?

    我有一些反应状态被定义为一个接口并且有专门命名的键 我尝试了下面的解决方案 该解决方案在技术上应该基于状态键工作 但它仍然给我错误 x string string provides no match for the signature 做这
  • 有没有一种简单的方法可以使用 Microsoft Web Optimization 框架/脚本捆绑来呈现绝对 URL?

    我正在尝试使用 Microsoft 的 Web Optimization 框架呈现 JavaScript 包 如下所示 Scripts Render assets bundle js 并构建一个小包 如下所示 public static v
  • Fabric API 密钥无效

    我正在尝试将 Fabric 安装到我的 iOS 应用程序中 我下载了 Fabric 应用程序来安装 Crashlytics 但是当我在应用程序提供的构建阶段添加运行脚本时 在构建项目后出现错误 第 2 行 1 myfirebaseid io
  • 在 PowerShell 代码中测试文件夹是否是连接点?

    如何在 PowerShell 代码中测试文件夹是否是连接点 至少从 PowerShell v5 0 开始 对链接有了更好的支持 或者 MS 称之为 重新分析点 改进的 Item cmdlet LinkType财产 链接的文章位于 WMF 5
  • 如何访问未导出的结构体字段

    Go 1 8 中有没有办法使用 Reflect 来访问未导出的字段 这似乎不再有效 https stackoverflow com a 17982725 555493 注意reflect DeepEqual工作得很好 也就是说 它可以访问未
  • 禁用对读取(无效 JSON)单引号字符串的支持

    Newtonsoft Json for C 支持读取类似内容 key value 但这是不正确的 JSON 是否可以禁用它 以便它更像 PHP 一样解析和读取 其中 PHP 不支持 key value 但 key value 你可以自己写J
  • 编译所需的BLAS和LAPACK库

    我最近下载了 Gnu Octave 的最新稳定版本 并尝试在我的机器上构建并安装它 Ubuntu 10 0 4 LTS 64 位 当我运行 configure 时 我收到以下错误消息 configure error You are requ
  • Scala @ 运算符

    Scala 的 运算符有什么作用 例如 在博客文章中Scala 中的形式语言处理 第 2 部分有这样的东西 case x Some Nil gt x 它使人们能够将匹配的模式绑定到变量 例如 考虑以下情况 val o Option Int
  • 如何将 stringstream 内容放入 char 而不是 string 类型?

    大家都知道stringstream str 需要一个字符串变量类型来存储内容stringstream str 进去 我想存储的内容stringstream str 转换为 char 变量或 char 数组或指针 可以这样做吗 请写一个简单的