Timothy Madden wrote:
Hello
What is the right way to convert from wide character strings to multi-byte strings ? In boost or in C++ if any ?
For narrow to wide conversion I can do
wostringstream streamMsg;
streamMsg << "Narrow string";
wstring wstrMessage = streamMsg.str();
But I think that too is not a good way as it might not take the current locale / code page /encoding /whatever into account, but just widen the char (as a number) to an wchar_t.
So what is the right way ? How do I write a codecvt facet for the default locale if I need one ?
Thank you, Timothy Madden
As an aside, couldn't you simply do something like this for your narrow to wide conversion? std::string narrow = "Narrow string"; std::wstring wstrMessage( narrow.begin(), narrow.end() );