ordinary string is 1 Byte per character.
unicode is 2 Byte per character, unsigned short is 2 bytes per character (so you are already getting unicode)
wchar_t is 4 byte for whatever reason.
so all I can think off now is to copy character by character in a loop
[code]//assuming your string is terminated by \0
unsigned short src[100];
wchar_t dst[100];
int idx=0;