whar_t代表UTF-32单一代码点,而不是像windows一样16bit utf-16。 所以你需要: 或者:ws.assing(arr,arr + length_of_string);这将使用arr作为迭代器并将每个short int复制到wchar_t。 但只有当你的角色存在于BMP或代表UCS-2时,这才有效 (16位传统编码)。 或者,正确使用utf-16:将utf-16转换为...
char str[]="abc";char c='c';str[0]=c;这样 str就变成了 "cbc" 了。
vs里可以用wcin和wcout以及wstring 或者用char的进行输入输出, 然后与wchar_t的进行转换
1:引入头文件 #include<atlconv.h> 2:好了可以转换了 USES_CONVERSION //宏 wchar_t *wp=A2W(p); //其中p为char *型数据 wp为转换后的wchar_t --- OK 给分我吧