QString转换为char*需要注意的问题
来源:互联网 发布:独战乾坤进阶数据大全 编辑:程序博客网 时间:2024/06/06 07:21
将QString转换为char*的过程中有一种错误用法需要注意:
QString strName = "Hello world!";
char *p = strName.toLatin1().data();qDebug() << p;
此时输出为乱码,这是为什么呢?
因为QString 的 toLatin1() 返回的为一个临时的QByteArray,而直接用这个临时的QByteArray 的data()方法返回的自然是一个临时的指针,
在当前行执行完毕临时的区域就会销毁了,所以p指向的内容也就销毁了
正确的写法是:
QString strName = "Hello world!";
QByteArray array = strName.toLatin1();
char *p = array.data();qDebug() << p;
需要将这个临时的QByteArray储存起来。
参考文档:http://www.4byte.cn/question/561018/clean-way-to-convert-qstring-to-char-not-const-char.html
欢迎指正!!!
0 0
- QString转换为char*需要注意的问题
- 把QString转换成 char * 中需要注意的地方
- 把QString转换成 char * 中需要注意的地方
- 把QString转换成 char * 中需要注意的地方
- QString转换为char *时出现的问题
- char 转换为 QString
- 将QString转换为char *
- 将QString转换为char *
- 将QString转换为char *
- 关于QString转换为char*的一点小细节
- QString unsigned char* 的转换
- QString和char *的转换
- QString与char *的转换
- Qt QString类型 转换为 const char*
- Qt中QString转换为char*
- 字符串转换为整数问题中需要注意的问题——溢出问题
- QString和char *的相互转换
- QString与char *的相互转换
- HDU5012 Dice(广搜BFS)
- jcs开源缓存框架介绍
- 鸟哥的Linux私房菜笔记二
- A和B之间的加密通信与HTTPS通信机制
- C# Winform 跨线程更新UI控件常用方法总结(转)
- QString转换为char*需要注意的问题
- uploadfy详解
- Android 技术重温系列 ( 2 )
- [js代码] input checkbox 全选与取消全选
- NodeJS开发调试
- 严重不安全:STL map 使用map[key]==0判断key是否存在于map中
- MyBatis-generator 代码生成工具
- Vuex原来可以这样上手
- hosts