Qt 与 python 交互中的 QString 与 const char*类型互转

2015-07-21 13:50:27 +08:00
 fishu

各位看官请看:
我这样做
std::string str = pmodulePath.toStdString(); // 1
const char* str1 = str.c_str(); // 2

PyRun_SimpleString(str2);// 3
程序顺利执行,但是如果我这样做,也就是吧1,2两句单独写成子函数,
const char* qstring2char(QString str)
{
std::string strings = str.toStdString();
const char* str1 = strings.c_str();
return str1;
}
const char* str2 = qstring2char(pmodulePath);
PyRun_SimpleString(str2);
程序就报错SyntaxError: EOL while scanning string literal
问题是我打出了上述两个字符串的ASCII码,根本是一样好不好,我也是醉了

2699 次点击
所在节点    问与答
3 条回复
fengjianxinghun
2015-07-21 14:04:23 +08:00
lz不懂c++把。。
qstring2char指针返回的内存以及释放了。。
fengjianxinghun
2015-07-21 14:04:54 +08:00
lz不懂c++把。。
qstring2char函数返回的指针指向的内存已经释放了。。
fishu
2015-07-21 15:47:52 +08:00
@fengjianxinghun 确实是刚开始自学,那我不能通过类似qstring2char子函数函数的形式转换字符编码了吗?谢谢指教

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/207209

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX