📜  qstring 到字符串 (1)

📅  最后修改于: 2023-12-03 14:46:50.382000             🧑  作者: Mango

QString到字符串

在Qt中,QString是一个十分常见的字符串类,它提供了一些方便的方法进行字符串操作。有时需要将QString转换为标准C++的字符串或者字符数组,在此介绍几种方法。

QString转char*

通过QString的toStdString()方法可以将QString转换为标准C++的std::string,而std::string又可以通过c_str()方法转换为char*类型的字符串。

QString str = "hello world";
std::string stdStr = str.toStdString();
const char* cStr = stdStr.c_str();
QString转QStringList再转char**

可以首先将QString转换为QStringList,然后再通过循环将每一个QString转换为char*类型的字符串,最终形成一个char**类型的字符串数组。

QString str = "hello world";
QStringList strList = str.split(" ");
const char** cStrArray = new const char*[strList.size()];

for(int i = 0; i < strList.size(); ++i) {
    cStrArray[i] = strList[i].toUtf8().constData();
}
QString转QByteArray再转char*

QByteArray是Qt中的字节数组类,它提供了toCharArray()方法可以将其转换为char*类型的字符数组。

QString str = "hello world";
QByteArray byteArr = str.toUtf8();
char* cStr = byteArr.data();

以上三种方法都可以实现将QString转换为char*类型的字符串或者字符数组,具体使用哪种方法可以根据实际情况选择。