C++中将char* 字符串无损的转化为 wchar_t* 字符串
char*m="asaasasa";p=(wchar_t*)m;std::cout<<p;输出结果:002DAC90不是原来的“asaasasa”,有没有大神有好方法或函...
char *m="asaasasa";
p=(wchar_t*)m;
std::cout<<p;
输出结果:002DAC90
不是原来的“asaasasa”,有没有大神有好方法或函数将char* 字符串无损的转化为 wchar_t* 字符串
还有string 类转化为wchar_t字符串的
跪谢大神们了,求教呀~~~~~~~~~~~~!!!!!!! 展开
p=(wchar_t*)m;
std::cout<<p;
输出结果:002DAC90
不是原来的“asaasasa”,有没有大神有好方法或函数将char* 字符串无损的转化为 wchar_t* 字符串
还有string 类转化为wchar_t字符串的
跪谢大神们了,求教呀~~~~~~~~~~~~!!!!!!! 展开
展开全部
对于纯英文字符串,可以直接复制,但不是复制指针,而是逐个字符复制,例如
char *m="asaasasa";
wchar_t p[9];
int i=0;
while(1)
{
p[i]=(wchar_t)m[i];
if(m[i]=='\0')break;
i++;
}
而对于带有非英文字符的字符串,则需要用到一些库函数来转换。有种省事的办法是这样的:
//还是上面的m和p
swprintf(p,L"%S",m);//%S标志符表示字符串的char与wchar_t相互转换
至于string类,也可以直接按对应的char或wchar型字符串进行相同处理
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询