QString转char*
来源:互联网 发布:数据库拖库 编辑:程序博客网 时间:2024/05/19 10:09
方法如下:
Qstring str;
char* ch;
QByteArray ba = str.toLatin1();
ch=ba.data();
这样就完成了QString向char*的转化。经测试程序运行时不会出现bug
补充:以上方法当QString里不含中文时,没有问题,但是QString内含有中文时,转换为char*就是乱码,采用如下方法解决:
方法1:
添加GBK编码支持:
#include <QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
然后改变上面的第三行为:QByteArray ba = str.toLoacl8Bit(); toLoacl8Bit支持中文
方法2:
先将QString转为标准库中的string类型,然后将string转为char*,如下:
std::string str = filename.toStdString();
const char* ch = str.c_str();
参考:
http://www.cnblogs.com/Romi/archive/2012/03/12/2392478.html
http://www.cppblog.com/wicbnu/archive/2011/03/16/141956.aspx
-------------------------------------------------------------------------------------------
今天这个方法试了,还是没有成功,我用过toLatin1(),toAscii(),toLocal8Bit(),均没有成功
换成先用std::string存储字符串,然后转成char*,成功了
http://blog.csdn.net/gzshun/article/details/8526675
-------------------------------------------------------------------------------------------
在windows下的QT编程中的_TCHAR与QString之间的转换
由于在windows下的QT编程中,如果涉及到使用微软的API,那么不可避免使用_TCHAR这些类型,因此在网上查了一下,其中一个老外的论坛有人给出了这个转换,因此在这里做一下笔记 : )
#ifdef UNICODE
#define QStringToTCHAR(x) (wchar_t*) x.utf16()
#define PQStringToTCHAR(x) (wchar_t*) x->utf16()
#define TCHARToQString(x) QString::fromUtf16((x))
#define TCHARToQStringN(x,y) QString::fromUtf16((x),(y))
#else
#define QStringToTCHAR(x) x.local8Bit().constData()
#define PQStringToTCHAR(x) x->local8Bit().constData()
#define TCHARToQString(x) QString::fromLocal8Bit((x))
#define TCHARToQStringN(x,y) QString::fromLocal8Bit((x),(y))
#endif
参考:http://blog.csdn.net/itjobtxq/article/details/8465194
- QT QString转Char *
- QString转char*
- QString转char*
- QString转Char*字符串
- 关于QString转char *
- QString转char*
- char* 字符串转QString
- QT QString 转 char*
- QString转char*
- QString转char*
- QString转char*类型
- QString转char
- QString类型转char*
- QString转char*
- QT *char 转QString
- QString 转 char*
- Qstring转char*
- char 转 QString
- Ubuntu“ System Program Problem Detected”问题
- [FineReport]柱状图(无参数存储过程)
- 运算符的讲解
- Qt 生成word、pdf文档
- 5种jQuery 分页
- QString转char*
- XML约束--schema约束
- Windows 10 查看以连接wifi的密码
- JavaIO流概念详解
- VR系列——Oculus Audio sdk文档:六、FMOD Oculus Spatializer集成指南(2)——如何使用FMOD Studio
- 文章标题
- Mybatis参数变量替换流程
- 分布式缓存-Memcache定义
- lineNumber: 1; columnNumber: 1; 前言中不允许有内容