欢迎来到天天文库
浏览记录
ID:57690236
大小:14.50 KB
页数:1页
时间:2020-09-01
《QString和字符串以及整型之间的转换.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Qtchar,string,int与QString型字符串的转换(1)将QString转换为char1Qstringstr;2charch;3QByteArrayba=str.toLatin1();4ch=ba.data();注意第三行,一定要加上,不可以str.toLatin1().data()这样一部完成,可能会出错。补充:以上方法当QString里不含中文时,没有问题,但是QString内含有中文时,转换为char就是乱码,采用如下方法解决:方法1:添加GBK编码支持:1#include
2、2QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));3QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));然后改变上面的第三行为:QByteArrayba=str.toLoacl8Bit();toLoacl8Bit支持中文方法2:先将QString转为标准库中的string类型,然后将string转为char,如下:1QStringqstr;2std::stringstr=qs
3、tr.toStdString();//QString转换为string3constcharch=str.c_str();(2)把char转换为QString。示例:1constcharcstr;2QStringqstr=QString(QLatin1String(cstr));(3)把string转换为QString.1std::stringstr="hello";2QStringqstr=QString(QString::fromLocal8Bit(str.c_str()));(4)int(float)型转化为QS
4、tring型方法一:1longa=63;2QStrings=QString::number(a,10);//s=="63"3QStringt=QString::number(a,16).toUpper();//t=="3F"(解释,变量a为int型或者float,double。10和16为进制)toUpper是大写方法二:1longa=63;2QStrings=QString("%1").arg(a);
此文档下载收益归作者所有