qt常用数据类型转换
2016-04-13 21:23
573 查看
1、int转QString
quint8转QString
2、quint8转QByteArray
3、quint8转QByteArray再转quint8
4、QByteArray转char*
5、quint8转QByteArray(感觉QByteArray.toInt()等方法很不好用。。)
6、QString转char*
7、quint16转char*
8、char*转quint16
9、quint16转QByteArray再转quint16
持续更新中。。
quint8转QString
quint8 k = 77; QString str_1; str_1 = QString::number(k, 10); qDebug() << str_1; // "77" QString str_2 = QString("%1").arg(k); qDebug() << str_2; // "77"
2、quint8转QByteArray
QByteArray all; quint8 head = 0XFF; all.append(head); qDebug() << all; //"\xFF"
3、quint8转QByteArray再转quint8
QByteArray all; quint8 head = 65; all.append(head); qDebug() << all; //"A" // 可以看出是ascii码的值,65对应A QByteArray temp = all.mid(0, 1); qDebug() << temp; //"A" char* data = temp.data(); qDebug() << data; //A quint8 i = (quint8) data[0]; qDebug() << i; //65
4、QByteArray转char*
QByteArray b("123"); qDebug() << b; //"123" char* d = b.data(); qDebug() << d; //123
5、quint8转QByteArray(感觉QByteArray.toInt()等方法很不好用。。)
quint8 q = 65; QByteArray b; b.setNum(q, 10); qDebug() << b; //"65" qDebug() << "int:" << b.toInt() << " hex:" << b.toHex(); //int: 65 hex: "3635" // int转成功了,但是hex...额,没有看懂
6、QString转char*
QString str("123"); std::string temp = str.toStdString(); const char* constChar = temp.c_str(); char* result = new char[strlen(constChar) + 1]; strcpy(result, constChar); qDebug() << result; //123
7、quint16转char*
quint16 code = 9299; char buff[3]; memcpy(buff,&code,sizeof(quint16)); qDebug() << buff; //S$
8、char*转quint16
// buff为上一点中的数据 quint16 res = *((quint16*)buff); qDebug() << res; //9299
9、quint16转QByteArray再转quint16
QByteArray q; quint16 code = 9299; char buff[3]; memcpy(buff,&code,sizeof(quint16));//quint16转char* qDebug() << buff; //S$ q.append(buff); //char*转为QByteArray char *temp = q.data(); // QByteArray转char* quint16 res = *((quint16*)temp);// char*转quint16 qDebug() << "size:" << q.length() << " byte:" << q << " res:" << res;//size: 2 byte: "S$" res: 9299
持续更新中。。
相关文章推荐
- Qt 消息基础相关_03
- Qt中关于中文字符编码问题
- MSYS2 环境搭建(在Qt Creator可以设置环境变量来进行引用这些库)
- Run Qt5.6 on VS2015 & “无法迁移项目文件” & "Cannot instantiate QtProjectEngine object"错误的解决方法
- Qt之文件操作
- QT读取access是数据库表名中文乱码
- 用qt编写打印功能
- 判断是否为16进制字符串
- 【qt小贴士】Qt窗口置顶相关
- Windows下PyQt4的安装
- Qt5 VS2013中文乱码解决
- QT QTableWidget 用法总结
- MacOSX系统下安装PyQt5.5.1
- qt 多线程 信号槽
- Qt之设置窗口背景
- QT使用小技巧
- Java应用中通过JNI嵌入c或者汇编代码来抓取qtrace的步骤
- 如何在QT5.6.0上安装中文输入法 及引申出来的问题
- qt 中文不能编译,界面中文乱码问题
- Visual Studio 2013 自定义工具 MSLinqToSQLGenerator失败的解决方案