如何将int转换为wstring?

时间:2013-04-29 13:30:13

标签: c++

我想将整数值(int)转换为std :: wstring 最好的方法是什么?
我出于某些原因不能使用to_wstring。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:8)

使用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.
}

答案 1 :(得分:-3)

你可以使用itoa将int转换为char并用这个char初始化你的std :: wstring