2

我想将一个整数值 (int) 转换为 std::wstring。
做这个的最好方式是什么?
由于某些原因,我不能使用 to_wstring。

任何帮助,将不胜感激。

4

2 回答 2

9

使用std::wostringstream

int i = 10;
std::wostringstream ws;
ws << i;
const std::wstring s(ws.str());

或者,boost::lexical_cast

#include <boost\lexical_cast.hpp>
const std::wstring s(boost::lexical_cast<std::wstring>(10));

要转换回来,请使用wistringstream

std::wistringstream win(L"10");
int x;
if (win >> x && win.eof())
{
    // The eof ensures all stream was processed and
    // prevents acccepting "10abc" as valid ints.
}
于 2013-04-29T13:32:08.063 回答
-3

您可以使用 itoa 将 int 转换为 char 并使用此 char 初始化您的 std::wstring

于 2013-04-29T13:33:08.397 回答