问题标签 [wostringstream]

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 投票
3 回答
1029 浏览

c++ - 将 CStringW 插入 std::wostringstream 时出现问题

我正在将 MFC 程序从 MBCS 转换为 Unicode。我发现插入运算符 << 与 CStringA 和 CStringW 实例的工作方式不同。

我希望这会打印“Hello\nWorld\n”,但它会打印“Hello\n14,5E6,B38\n”。也就是说,它打印的是 w_s 数据的地址而不是数据。

如果我调试到 w_oss << w_s,我可以看到插入 const void* 的重载被选中,而不是插入 const wchar_t* 的重载。它适用于 char 版本。如果我明确应用大小写 (LPCTSTR) 或 (const wchar_t*),它适用于 wchar_t 版本。

任何想法为什么 wchar_t 版本与 char 版本的工作方式不同?

0 投票
1 回答
1502 浏览

c++ - 在调用 .str() 之前是否可以知道 std::wostringstream 的长度?

我正在研究std::wostringstream以及如何正确使用它。我想知道是否有任何方法可以事先知道构造字符串的长度?我尝试在 MSDN 和http://en.cppreference.com/w/上搜索信息,最后在 google 上搜索,但找不到我要找的东西。

例如,如果我将wostringstream的引用传递给一个函数,该函数是否可以通过调用.str()知道流是否为空,以及在不进行复制的情况下需要多长时间?

0 投票
1 回答
240 浏览

c++ - visual c++ 2013 内存泄漏 wostringstream、imbue 和语言环境方面

与我之前的问题相关,我假设内存泄漏发生在 std::string 中,但深入研究后,我得到了一些奇怪的结果。让我们开始:

考虑到我们有一个全球

在 WriteToLog() 函数中,我们有以下代码:

它利用专有的:

由于日志事件偶尔发生,它会产生巨大的内存泄漏(从最初的 5MB/500 个句柄在几分钟内跃升至 200MB/300,000 个句柄)。

以前,我假设它是与 std::string 相关的泄漏,但是,使用 Visual Studio Profiler,它表明所有泄漏都是由 GetUtf8Locale() 引起的。

有人可以帮我解决这个问题吗?

0 投票
2 回答
355 浏览

c++ - stringstream 的 showbase 和前导零

这是代码:

如果我showbase为流设置,我总是得到低于 output:
0x7001406,而不是0x07001406

我怎样才能在 7 点之前得到这个零?我不0x想像wss << "0x".

提前致谢!!

0 投票
1 回答
125 浏览

c++ - 你如何在 C++ 中将你的类的数据写入 wostringstream?

假设我有一个包含 A 类数组的 B 类,我想使用std::wostringstream输出 B 类中的数据。我已经为 B 类重载了运算符<<,但我只得到 'E0349' 和 'C2679'错误。

A类的定义

B类的定义

如您所见,B 类有一个 A 类数组。我<<为 A 类重载了运算符。

现在,我想使用 B 类:

但是我不能。

这是错误代码,我<<为 B 类重载了运算符

这是完整的代码。它是在线编译器。

有点长的代码示例,但有细节

完整代码在 URL 中。

怎么了?您如何将ArrayOfA发送到std::wostringstream?如果你只使用std::ostream,你将如何获得像std::wostringstream这样的字符串内容?我的运算符重载有什么问题吗?