如何将int转换为wstring?

Rya*_*Liu 2 c++

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

任何帮助,将不胜感激.

hmj*_*mjd 9

使用std::wostringstream:

int i = 10;
std::wostringstream ws;
ws << i;
const std::wstring s(ws.str());
Run Code Online (Sandbox Code Playgroud)

或者,boost::lexical_cast:

#include <boost\lexical_cast.hpp>
const std::wstring s(boost::lexical_cast<std::wstring>(10));
Run Code Online (Sandbox Code Playgroud)

要转换回来,请使用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.
}
Run Code Online (Sandbox Code Playgroud)