C++ 将浮点转换为LPCWSTR

C++ 将浮点转换为LPCWSTR,c++,winapi,C++,Winapi,这么说吧,我有 float x; 我有 LPCWSTR message=L"X is"; 如何使用该消息创建LPCWSTR “X是[X]” ?您可能会使用类似于的东西或更现代(更安全)的替代品,例如 关键是你不能只是“转换”,你需要一个字符一个字符地构建字符串,这是浮点数的文本表示。使用\u vsnwprintf 标题 您可以使用: #包括 #包括 #包括 int main() { 浮点数x=0.1f; std::wstringstreams; 你有权访问STL吗?你可以使用wstrin

这么说吧,我有

float x;
我有

 LPCWSTR message=L"X is";
如何使用该消息创建LPCWSTR

“X是[X]”


您可能会使用类似于
的东西或更现代(更安全)的替代品,例如


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

使用
\u vsnwprintf

标题

您可以使用:

#包括
#包括
#包括
int main()
{
浮点数x=0.1f;
std::wstringstreams;

你有权访问STL吗?你可以使用wstringstream@pstrjds:Pedantry--streams不是STL的一部分。它们是标准库的一部分。@JohnDibling-I被纠正了。感谢您指出这一点。如何从wstring创建LPCWSTR?@amoo,您不能只使用
ws.c_str()
?或者您可以使用标准的
swprintf
,在最近的编译器中,它采用缓冲区大小参数,因此也是安全的。
#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;
}