use*_*146 5 c++ qstring qt qt-creator qtcore
我从一个带有UTF8编码的XML文件中读取了一个字符串.我将此值存储在一个QString对象中,并将其与其他一些信息连接起来.我可以在QtCreator调试器中看到它QString保存了所需的值.
我需要将此字符串传递给另一个带const char *参数的库.我如何获得const char *请?我试过toLocal8bit(),toLatin1(),toUtf8()都没有运气.好像我错过了什么......
lpa*_*app 10
我需要将此字符串传递给另一个采用const char*参数的库.我如何获得const char*?我已经尝试过loc8bit(),toLatin1(),toUtf8()都没有运气.好像我错过了什么......
因为如果你尝试那些,你只会得到一个QByteArray后退,而不是一个const char*.您可以使用constData()方法QByteArray,然后您将获得所需的结果.
混合std::string和QString是没有必要的,因此最好是经过Qt的类型(QString -> QByteArray -> const char*不引入)std::string在这里.
您使用的位置toLocal8bit(),toLatin1()或toUtf8()取决于您的编码,因此这是与此处的主要问题不同的问题.他们都将归还QByteArray给你.
注意:你应该避免使用toAscii(),因为在Qt 5中已经弃用了.