繁体   English   中英

如何从QString获取const char *

[英]How to obtain const char * from QString

我从一个带有UTF8编码的XML文件中读取了一个字符串。 我将此值存储在QString对象中,并将其与其他一些信息连接起来。 我可以在QtCreator调试器中看到QString保持所需的值。

我需要将此字符串传递给另一个采用const char *参数的库。 我如何获得const char * 我已经尝试过toLocal8bit()toLatin1()toUtf8()都没有运气。 好像我错过了什么......

我需要将此字符串传递给另一个采用const char *参数的库。 我如何获得const char *? 我已经尝试过loc8bit(),toLatin1(),toUtf8()都没有运气。 好像我错过了什么......

因为如果你尝试那些,你只会得到一个QByteArray而不是一个const char* 您可以在QByteArray上使用constData()方法,然后您将获得所需的结果。

混合使用std::stringQString是不必要的,因此最好不要在这里引入std::string来查看qt类型( QString -> QByteArray -> const char* )。

你使用toLocal8bit()toLatin1()toUtf8()取决于你的编码,所以这是与这里的主要问题不同的问题。 他们都将返回QByteArray给你。

注意:你应该避免使用toAscii() ,因为在Qt 5中不推荐使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM