fishu
V2EX  ›  问与答

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

  •  
  •   fishu · Jul 21, 2015 · 3440 views
    This topic created in 3952 days ago, the information mentioned may be changed or developed.

    各位看官请看:
    我这样做
    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 replies    2015-07-21 15:47:52 +08:00
    fengjianxinghun
        1
    fengjianxinghun  
       Jul 21, 2015
    lz不懂c++把。。
    qstring2char指针返回的内存以及释放了。。
    fengjianxinghun
        2
    fengjianxinghun  
       Jul 21, 2015   ❤️ 1
    lz不懂c++把。。
    qstring2char函数返回的指针指向的内存已经释放了。。
    fishu
        3
    fishu  
    OP
       Jul 21, 2015
    @fengjianxinghun 确实是刚开始自学,那我不能通过类似qstring2char子函数函数的形式转换字符编码了吗?谢谢指教
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2926 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 12:58 · PVG 20:58 · LAX 05:58 · JFK 08:58
    ♥ Do have faith in what you're doing.