当前位置:编程学习 > C/C++ >>

wxString str = wxString::FromUTF8(v); v为中文时,str转换结果为何为空,v类型是char v[20];

当给v赋初值(为中文)时,可以正常转换 但是若v的值是别的变量赋过来的,str就不能正常转换了。 详细解释就是:char v[20]="杭州";wxString str = wxString::FromUTF8(v); 此时正常,str有值 若 char v[20]; wxString oper3=TextCtrl3->GetValue(); strncpy(v,oper3,19); wxString str = wxString::FromUTF8(v);此时结果不正确 注:不要告诉我直接用str=oper3;来赋值,这不是本问题的目的。 理解这个问题需要wxwidgets的基础知识,还需要先画一个textctrl控件,进行相应的输入输出
补充:编译器用的是codeblocks
追问:一楼还是蛮细心的,这句话确实有问题,应改成strncpy(v,oper3.mb_str(),19);不过这不是问题所在啊这个问题确实解决了,改成strncpy(v,oper3.ToUTF8(),19); 就行,不过这问题是我另一个问题的缩写,这个问题解决了,另一个问题还是存在,方便加下q么?已经调试过了,就是wxString str = wxString::FromUTF8(v);   v有中文内容的,执行了该语句以后str竟然变成空内容了
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,