本文共 606 字,大约阅读时间需要 2 分钟。
Qt下,字符串都是使用QString,但是很多时候我们需要的char* 这样的参数。
下面介绍两种转换的方法:
1.QString转为QByteArray然后再转为char*
QString Qstr = "abcde";QByteArray Qbytes = Qstr.toLatin1();char* pbuf = Qbytes.data();
2.QString转为string,然后再转为char*
QString Qstr = "abcde";std::string str = Qstr.toStdString();const char* pbuf = str.c_str();
QString Qstr = QString(QLatin1String("abcde"));QString str = QStringLiteral("abcde");
std::string cstr;
QString qstring;
//****从std::string 到QString
qstring = QString(QString::fromLocal8Bit(cstr.c_str()));
//****从QString 到 std::string
cstr = string((const char *)qstring.toLocal8Bit());
转载地址:http://uvqxi.baihongyu.com/