对于单个字符,可以通过ios::widen()函数来完成char到wchar_t的格式转换。或者通过ios::narrow来完成反向的转换。注意实际上widen是将char转换成了charT类型,也就是本地语言(locale)中一个字符,如果本地语言采用宽字符时,才会转换成wchar_t。
对于数组或者指针型,可以通过
size_t mbstowcs( wchar_t * wcstr, const char * mbstr, size_t max );这个函数(在cstdlib中)来完成,其中size_t是转换到目标的最大的字符串长度。