问题标签 [ostringstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 将 char 数组转换为可以附加到 ostringstream 的内容
//我想将paramName的值添加到parmStream工作b4当parmName是一个字符串但obv现在不是
给我以下..错误:类型无效的操作数 \u2018char [1024]\u2019 和 \u2018const char [2]\u2019 到二进制 \u2018operator+\u2019
提前为帮助喝彩
c++ - 派生streambuf 或basic_ostringstream?
我想派生一个字符串流,以便我可以使用 operator<< 构造一条消息,然后将其抛出。API 看起来像:
这应该做一个
所以我所做的是创建一个errorbuf(继承自streambuf),它重载'overflow'方法,然后创建一个ostream(&errorbuf)。我想知道我是否不应该从 basic_ostringstream 或其他东西继承...
c++ - 截断 ostringstream、iomanip:setw 生成的 C++ 字符串字段
在 C++ 中,我需要带前导零的整数的字符串表示形式,其中表示形式有 8 位且不超过 8 位,必要时截断右侧的数字。我以为我可以只使用 ostringstream 和 iomanip.setw() 来做到这一点,如下所示:
这里的输出是:
非常好!但是,如果我尝试更大的数字,setw 会让输出超过 8 个字符:
输出:
所需的输出是“20000000”。没有什么能阻止我使用第二个操作来只取前 8 个字符,但是 iomanip 中真的缺少字段截断吗?Boost 格式会一步完成我需要的吗?
c++ - VS2008 中的 C++ STL:std::ostringstream 在大量分配/清除使用后抛出 std::bad_alloc
我遇到了一种情况(在 Win32 上),其中 std::ostringstream 对象继续消耗进程内存,即使它在一系列附加类型操作后表面上被清除。请看一下这个 C++ 片段:
在执行内部 while() 循环期间,在任务管理器中观察进程的内存使用情况显示出持续上升的斜坡,最终趋于平稳。但是,这种平衡发生在重复抛出错误 std::bad_alloc 的同时。这表明堆内存已经耗尽,或者请求的块大小在连续空间中不可用。
有没有其他人经历过 ostringstream 对象的这种泄漏现象,还有哪些其他替代对象可用而不是这个片状对象?
非常感谢!
c++ - istringstream、ostringstream 和 stringstream 有什么区别?/ 为什么不在每种情况下都使用 stringstream?
我什么时候使用,std::istringstream
为什么不应该只在每个场景中使用(是否存在任何运行时性能问题?)。std::ostringstream
std::stringstream
std::stringstream
最后,这有什么不好的(而不是使用流):
c++ - 用 ostringstream 对浮点数进行四舍五入
我有一个关于使用 ostringstream 从浮点数转换为 C++ 字符串的问题。这是我的台词:
当 t 的值为 -0.89999 时,它会四舍五入到 -0.9,但是当它的值是 0.0999 或小于 1.754e-7 时,它只会在不四舍五入的情况下打印。什么可以解决这个问题。
c++ - 如何将 char 数组转换为基于字符串的十六进制流(ostringstream)
在 C++ 中(在带有 gcc 的 Linux 上)我想将一个字节数组 ( vector<unsigned char>
) 放到 aostringstream
或 astring
中。
我知道我可以使用sprintf
,但它似乎也不是最好的使用方式char*
。
顺便说一句:这个链接没有帮助
编辑:到目前为止所有答案都有效。但我不是故意的,我想将字节/十六进制值转换为它们的字符串表示形式,例如vector<..> = {0,1,2} -> string = "000102"
. 抱歉丢失但重要的细节
c++ - ostringstream 的字符串构造函数的目的是什么?
在 MSVC 2005 上,我有以下代码。
我期望的是:
我得到的是:
用字符串初始化流,我希望流将其位置移动到初始字符串的末尾。显然,STL 不同意我的看法(不是第一次)。
这种行为的目的是什么?这个用例对任何事情都有用吗?另外,有没有办法将流位置推进到初始字符串的末尾?
c++ - 如何使用 std::ostringstream 截断整数类型的宽度?
假设你有类似的东西:
输出:042
这个输出是因为 std::setw 确保了最小宽度,我们告诉流用 0 填充但是你如何做相反的事情并指定最大宽度,以便在 STL 和本机 C++ 中截断显示最好...
目前我有一些我认为是丑陋和低效的黑客:
输出:123
我看过 boost::format 但据我所知,这是同一个故事,没有办法“漂亮”地做到这一点......有什么建议吗?
更新:与 STL 的其他容器和模板对象相比,通常已知 std::ostringstream 和 STL 流执行缓慢。也许我最好制作一个包装并在内部使用 std::queue 的消息队列对象,然后只使用 sprintf_s 进行格式化?
c++ - 如何将 float .1 流式传输为 .1 而不是 0.1
我可以检查值是否 < 1,然后找到前导零并将其删除。不是很优雅。