I need a code in C++ to convert a string given in wchar_t*
to a UTF-16 string. It must work both on Windows and Linux. I've looked through a lot of web-pages during the search, but the subject still is not clear to me.
As I understand I need to:
- Call
setlocale
with LC_TYPE and UTF-16 encoding. - Use
wcstombs
to convertwchar_t
to UTF-16 string. - Call
setlocale
to restore previous locale.
Do you know the way I can convert wchar_t*
to UTF-16 in a portable way (Windows and Linux)?