问题标签 [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.

0 投票
2 回答
714 浏览

c++ - 打印对象内对象的向量

我正在尝试打印一个对象Order(实际上是 s 的向量Order)。Order有一些数据成员,包括带有其他对象的向量,Purchase.

我可以自己打印vector<Purchase>到,如果我忽略该成员cout,我可以打印。但棘手的部分是包含在内的打印。vector<Objects>vector<Purchase>vector<Objects>vector<Purchase>

这是我的代码:

正如你所看到的,我想将它ostringstreams用作临时变量,vector<Purchase>在将它传递给ostream& os. 但这是不行的。什么是解决这个问题的好方法?

我对 C++ 还很陌生,只是在学习流的不同用途,所以如果这是一个愚蠢的问题,请多多包涵。

0 投票
1 回答
112 浏览

c++ - ostringstream 在递增后得到错误的 int 值 [c++]

这是我的代码的一部分:

当我打印标签时,结果是轮流 8 和 9。我做错了吗?

0 投票
0 回答
69 浏览

c++ - 使用 >> 运算符停止我的字符串流以从文件流中获取字符

帮助我了解当我使用字符串流的 >> 运算符时发生了什么,以及为什么我不能在之后重新使用 << 运算符。

我是一名意大利学生,对不起我的英语不好。

我知道我可以通过其他方式使用文件中的分隔符进行解析,但我需要一种简单的方法,而无需使用太多变量和库,例如 Boost。

编辑更多细节:

top10.txt 文件包含:

输出:

应用程序运行没有错误,但显然不在屏幕上打印

我所期望的;

0 投票
1 回答
180 浏览

c++ - ostringstream 以固定符号打印浮点数,避免使用特殊符号

我正在使用以下代码打印浮点数(value类型float):

在大多数情况下都可以正常工作。但是,当value很小的时候,我会得到类似的东西:

虽然我会期望以下(带有 9 个十进制数字的固定符号):

因此,请问使用 std::ostringstream 的方法是什么?

0 投票
2 回答
983 浏览

string - C++ - 损坏的字符串

我对 C++ 很陌生,但我习惯于使用 R 语言进行一些编码。几周前,我开始组装一个小型应用程序,该应用程序应该复制和重命名文件对 (.seq/.ab1)。DNA 测序仪分析的结果(手动重命名数百个将是一种实时浪费,特别是因为我们有带有新名称的列表)。

一切似乎都很好,但是新文件(那些复制的)在它们的名称中出现了一个“特殊字符”(就在文件类型之前),它看起来像一个空格,但它不是(我已经用空格替换了它,并且文件正确打开)。删除它后,该文件可以由其关联的应用程序打开,但使用它,应用程序会指责该文件已损坏。

问题似乎来自与 ostringstream::str 成员函数相关的代码,但老实说我不知道​​如何解决它。在我附加文件类型之前,我想知道它是否没有在那里插入空字符......

这是负责的代码部分。它从 2 列 csv 文件中获取旧名称和新名称,数据以“;”分隔。原始数据和新的(重命名的文件)数据保存在不同的目录中,这就是我需要在 for 循环中为每个文件路径创建一个字符串的原因。我打算稍后检查新旧文件内容,可能使用 memcmp。但首先我需要正确重命名它们。

我在使用 gcc 4.8.4 作为编译器的 Ubuntu 14.04(64 位)机器上。我已经为可能糟糕的编码和糟糕的英语道歉,我不是母语人士(实际上是作家)。

0 投票
1 回答
766 浏览

c++ - 快速将双精度转换为字符串,观察给定的精度

我有一个C++程序使用SDL. 在渲染过程中,我需要绘制一些图形组件。我有时需要将double四舍五入的变量转换为std::string.

为此,我目前正在使用一个ostringstream对象,它工作正常。

但是,我想知道这种转换变量的方式在性能方面是否是一个好主意。

我尝试使用 对double变量进行四舍五入std::to_string(std::round(x * 10) / 10)),但没有奏效——我仍然得到类似的输出2.500000000

  • 还有其他解决方案吗?
  • 是否ostringstream需要付出沉重的代价?
0 投票
1 回答
150 浏览

c++ - Std::pair/ostringstream ctor 语法

为什么下面的代码...

...生成编译器错误...

...而下面的代码不会产生任何编译器错误?

如果有人可以建议如何做,理想情况下,我希望像我在第一个代码块中尝试做的那样,完成我的 std::pair 的“单行”创建和填充。谢谢你。

0 投票
2 回答
82 浏览

c++ - 为什么我通过流获得的 std::string 被覆盖?

假设我有这样的功能:

然后是这样的一些代码:

我不明白为什么vertex_shader_source最终会被后续调用get_shader. 我该如何解决?

0 投票
2 回答
846 浏览

c++ - 为什么不能构造包含 ostringstream 成员的对象?

我有以下类示例,从一个更大的项目中简化而来。它基于一个日志框架,该框架使用记录器的范围来终止析构函数中的日志条目。

下面的代码不会编译,因为构造函数是一个隐式删除的函数(edit: not true),这似乎与std::ostringstream对象有关。我对此感到困惑,因为我认为我应该能够直接构造 a std::ostringstream,这意味着我应该能够直接构造一个Container对象。

请注意,标有“工作正常”的行就是这样做的。好像是实例化了一个匿名Container对象,里面包含一个 new std::ostringstream,可以直接访问输出“world”。自身创建消息的Container“Hello”部分,其析构函数刷新缓冲区。

为什么Container命名和保存对象的第二部分不能正确运行?这是我得到的错误示例:

... 等等。

0 投票
4 回答
180 浏览

c++ - C++ ostringstream 奇怪的行为

我最近在使用 c++ 代码时遇到了一个非常奇怪的问题。我在极简主义的例子中重现了这个案例。我们有一个 Egg 类:

我们还有一个篮子类来装鸡蛋

所以这是一个按预期工作的例子。

这是预期的结果,但是如果我想根据某个循环变量添加 N 个生成名称的鸡蛋,我会遇到以下问题。

如果我将循环条件更改为 i<5,我会得到“Egg4 Egg4 Egg4 Egg4 Egg4”。它将最后添加的 Egg 保存在动态 Egg 数组的所有索引中。

在谷歌搜索后,我发现给 Egg 中的 char* 名称变量一个固定大小并strcpy在构造函数中使用可以解决这个问题。

这是“固定”的 Egg 类。

现在的问题是为什么?

提前致谢。

是整个代码的链接。