QT 下把编辑框内的中文字符转换为 char*

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT 下把编辑框内的中文字符转换为 char*相关的知识,希望对你有一定的参考价值。

第一种方法

QString str(tr("你好"));
 wchar_t wc[100] = {0};
 pEditShortDes->text().toWCharArray(wc);//关键1
 char cStr[100] = {0};
 size_t Convert = 0;
 setlocale(LC_ALL, ".936");//关键2
 wcstombs_s(&Convert,cStr,50,wc,50);
 QString str1(tr(cStr));

 

第二种方法(要求必须在中文系统下,其它系统将会失败)

 QString str(tr("你好"));
 char cStr[100] = {0};
 strcpy(cStr,(const char*)str.toLocal8Bit());
 ShowInfo(tr(cStr));

 

经过测试

经过以上两步,可保证中文信息不会丢失

http://blog.csdn.net/zhangxiaonanwin/article/details/6091945

以上是关于QT 下把编辑框内的中文字符转换为 char*的主要内容,如果未能解决你的问题,请参考以下文章

r语言如何把数据框内的数值型数据转变成日期型数据

如何将char类型数组转换为unicode字符串

Qt中如何把一个QString类型的字符串转换成char[16]类型的字符串,我想从LineEdit控件中将IP地址提取出来。

vs2013 提示无法从void转换为char

怎么把unsigned char数组转化为字符串类型

从另一个 IDE (Qt Creator) 为 MSVC 编译器设置字符集