大家好,今天小编关注到一个比较有意思的话题,就是关于qstr的问题,于是小编就整理了3个相关介绍qstr的解答,让我们一起看看吧。
qstring怎么转换为string?
QString与string的相互转换
1、
QString转换String
string s = qstr.toStdString();
2、
String转换QString
QString qstr2 = QSting::fromStdString();
请问大神如何将Qstring转化为一个char?
相互转换,参考示例如下: 1.从QString转换为char * 要实现把一个QString转换为char *,一般遵循这样的步骤: 第一步,对该QString对象调用QString的toLatin1()方法,以获得该字符串的latin1值。 注意toLatin1()的原型如下:QByteArray QString::toLatin1 () const 它将返回一个QByteArray。 示例: QString qstr = "convert" QByteArray ba = qstr.toLatin1(); 第二步,对第一步得到的QByteArray对象调用data()方法,以获得指向存储于这个数组中数据的指针。 示例: const char *cstr = ba.data(); 完整的一个控制台程序如下: int main(int argc, char **argv) { Q***lication ***(argc, argv); QString qstr = "convert"; QByteArray ba = qstr.toLatin1(); const char *cstr = ba.data(); printf("cstr: %s", cstr); //输出显示 return ***.exec(); } 当然也有其他方法,基本的差异在于使用toLatin1()还是使用QString的toStdString方法,或者是QString的.toLocal8Bit()方法,后续步骤不变。大家可以自行试验。 2.把char*转换为QString。 最为方便的做法是以一个QLatin1String对象作为参数,来调用QString的构造函数。 示例: const char *cstr; QString qstr= QString(QLatin1String(cstr));
QT中mid(0,6)是什么意思。是选取中间的0到6位吗?例如【12:12.23】?
str.mid(0,6)
取字符串str的从位置0开始,6位
例如:
QString str="12:12.23";
QString str2=str.Mid(0,6);
str2的值就是"12:12.";