V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fishu
V2EX  ›  问与答

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

  •  
  •   fishu · 2015-07-21 13:50:27 +08:00 · 2846 次点击
    这是一个创建于 3449 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位看官请看:
    我这样做
    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码,根本是一样好不好,我也是醉了

    3 条回复    2015-07-21 15:47:52 +08:00
    fengjianxinghun
        1
    fengjianxinghun  
       2015-07-21 14:04:23 +08:00
    lz不懂c++把。。
    qstring2char指针返回的内存以及释放了。。
    fengjianxinghun
        2
    fengjianxinghun  
       2015-07-21 14:04:54 +08:00   ❤️ 1
    lz不懂c++把。。
    qstring2char函数返回的指针指向的内存已经释放了。。
    fishu
        3
    fishu  
    OP
       2015-07-21 15:47:52 +08:00
    @fengjianxinghun 确实是刚开始自学,那我不能通过类似qstring2char子函数函数的形式转换字符编码了吗?谢谢指教
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2596 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 07:10 · PVG 15:10 · LAX 23:10 · JFK 02:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.