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;
}

...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BeRoy 2006-07-22
  • 打赏
  • 举报
回复
解决了
BeRoy 2006-07-22
  • 打赏
  • 举报
回复
BlueDeepOcean(蓝色·深海)
老大说完啊,哪里有问题?
牧牛人软件 2006-07-22
  • 打赏
  • 举报
回复
你自己函数,不贴出来,谁搞得明白呢?
BlueDeepOcean 2006-07-22
  • 打赏
  • 举报
回复
这段代码感觉在哪里见到过,不过在长度计算上存在问题的。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧