AnsiString 怎么搞的?是BUG?
BeRoy 2006-07-22 11:24:07 char * name=UTF2AN(GetName()); //name=ゾ小刀
AnsiString ss=AnsiString(name); //ss=ゾ
为什么ss 的值不是“ゾ小刀” ?
后半截到哪里去了?
//-------------------------------------------------------
char * UTF2AN(const char * sTemp)
{
WCHAR* strA;
int i=MultiByteToWideChar(CP_UTF8,0,sTemp,-1,NULL,0);
strA=new WCHAR[i];
MultiByteToWideChar(CP_UTF8,0,sTemp,-1,strA,i);
i=WideCharToMultiByte(CP_ACP,0,strA,-1,NULL,0,NULL,NULL);
char *strB=new char[i];
WideCharToMultiByte(CP_ACP,0,strA,-1,strB,i,NULL,NULL);
char *sRt=strB;
delete []strA;
delete []strB;
return sRt;
}