vs读取xml总是提示字符串无效,乱码都没有。
跟到tinyxml也没有什么线索。
直接将字符串指针按utf8转gbk,ok了。提示真是误导
wchar_t* utf2gbkw(const char* utf8)
{
int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
wchar_t* gbk= new wchar_t[len+1];
memset(wstr, 0, len+1);
MultiByteToWideChar(CP_UTF8, 0, utf8, -1, gbk, len);
return gbk;
}
char* gbk2utf8w(wchar_t *gbk)
{
len = WideCharToMultiByte(CP_UTF8, 0, gbk, -1, NULL, 0, NULL, NULL);
char *utf8=new char[len + 1];
memset(utf8, 0, len + 1);
WideCharToMultiByte (CP_UTF8, 0, gbk, -1, utf8, len, NULL,NULL);
return utf8;
}