【问题标题】:converting float to LPCWSTR将浮点数转换为 LPCWSTR
【发布时间】:2012-05-31 13:38:35
【问题描述】:

所以我有,比方说

float x;

我有

 LPCWSTR message=L"X is";

如何创建带有消息的 LPCWSTR

“X 是 [x]”

?

【问题讨论】:

  • 您可以访问 STL 吗?你可以使用 wstringstream
  • @pstrjds: Pedantry——流不是 STL 的一部分。它们是标准库的一部分。
  • @JohnDibling - 我的立场是正确的。感谢您指出这一点。

标签: c++ winapi


【解决方案1】:

你可以使用wstringstream:

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

int main()
{
    float x = 0.1f;
    std::wstringstream s;
    s << L"X is " << x;
    std::wstring ws = s.str();
    std::wcout << ws << "\n";

    return 0;
}

如果需要,并从中创建一个LPCWSTR,或者只使用std::wstring

【讨论】:

  • 如何从 wstring 创建一个 LPCWSTR?
  • @Ameoo,你不能只用ws.c_str()吗?
【解决方案2】:

您可以使用@987654321@ 之类的东西或更现代(和安全)的替代品,例如@987654322@

关键是你不能只是“转换”,你需要构建字符串,逐个字符,即浮点数的文本表示。

【讨论】:

  • 或者您可以使用swprintf,这是标准的,并且在最近的编译器中采用缓冲区大小参数,因此它也是安全的。
【解决方案3】:

_vsnwprintf怎么样

标题

&lt;wchar.h&gt; &lt;stdarg.h&gt;

reference

【讨论】:

    猜你喜欢
    • 2011-11-13
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多