各位看官请看:
我这样做
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码,根本是一样好不好,我也是醉了
1
fengjianxinghun 2015-07-21 14:04:23 +08:00
lz不懂c++把。。
qstring2char指针返回的内存以及释放了。。 |
2
fengjianxinghun 2015-07-21 14:04:54 +08:00 1
lz不懂c++把。。
qstring2char函数返回的指针指向的内存已经释放了。。 |
3
fishu OP @fengjianxinghun 确实是刚开始自学,那我不能通过类似qstring2char子函数函数的形式转换字符编码了吗?谢谢指教
|