const char *类型的C风格字符串与QString字符之间的转换

简单来说,QString的+=即可完成这个功能: str += " (0000)"

这里,我们将const char * 类型的字符串" (0000)"转换成为QString类型。

如果需要显式的转换,可以使用QString的强制转换操作,或者是使用函数fromAscii()等。

为了将QString类型转成const char *字符串,需要进行两步操作,一是使用toAscii()获得一个QByteArray类型对象, 然后调用它的data()或者constData()函数,

例如: printf("User: %s\n", str.toAscii().data());

为了方便使用,Qt提供了一个宏qPrintable(),这个宏等价于toAscii().constData(),

例如: printf("User: %s\n", qPrintable(str));

我们调用QByteArray类上面的data()或者constData()函数,将获得QByteArray 内部的一个const char*类型的字符串。

 

posted on 2021-06-07 15:57  xw_note  阅读(621)  评论(0)    收藏  举报

导航