Qt中QString::toStdString().c_str() 偶尔存在问题
来源:互联网 发布:可靠韩国代购淘宝店铺 编辑:程序博客网 时间:2024/05/16 14:09
假设
QString str = "string";
const char* c = str.toStdString().c_str()单步调试显示的结果可能会是'\0'
而当我这样写时
std::string s = str.toStdString();
const char* c = s.c_str();
c 是"string"
为啥呢???
原来有可能是这样的。
str.toStdString().c_str()中toStdString()是一个临时std::string变量,而c_str()是指向这个临时std::string变量的字符串地址,所以传给c时这个临时std::string变量已经被析构,其内容是空,c_str()自然就是'\0'。不过这种情况在未知情况下发生,有时直接写QString::toStdString().c_str() 也是好用的。
为了避免出错,最好还是
std::string s = str.toStdString();
const char* c = s.c_str();
这样写比较好。多写几个字,少出点错,下次记住了!!
0 0
- Qt中QString::toStdString().c_str() 偶尔存在问题
- Qt中QString对象使用toStdString().data()会产生错误
- Qt中QString对象使用toStdString().data()会产生错误
- QT中 QString转化为String时候的toStdString与toLocal8Bit 的区别
- Qt tostdString
- 有关 QString::toStdString() 使用的一个细节问题
- vs2010下QString::toStdString()崩溃
- Qt中QString中字符匹配的问题
- Qt中用同一个变量的QString::setNum()来设置数字存在的不确定性问题分析
- QT中QString转const char *的问题
- Qt中QString与基本类型的转换问题
- Qt中QString转string中文乱码问题
- QT QString与中文问题
- toStdString()
- Qt中QString转char*
- qt中QString转char *
- Qt中 QString 转 char*
- Qt中QString的比较
- Spring Framework源码读取-配置
- 生成n位格雷码
- Android中仿微信选择图片和拍照
- 8.python学习笔记:python发送邮件
- tar解压文件到指定目录出现Not found in archive
- Qt中QString::toStdString().c_str() 偶尔存在问题
- SHA加密(单向)
- NGUI聊天信息中插入动态表情
- Android内存优化总结【整理】
- ndc iptables ip命令积累ing
- Tomcat下快逸报表中文乱码问题怎么解决
- Http 模拟构造提交
- 面试问题总结(一)
- angular $scope.fun | js obj method