您的位置:

QStringList转QString详解

一、QString转char

1、使用QString的toLocal8Bit方法

    QString str("hello world");
    QByteArray buffer = str.toLocal8Bit(); // 将QString转换为QByteArray
    const char *charStr = buffer.constData(); // 将QByteArray转换为char *

2、使用QString的toUtf8方法

    QString str("hello world");
    QByteArray buffer = str.toUtf8(); // 将QString转换为QByteArray
    const char *charStr = buffer.constData(); // 将QByteArray转换为char *

二、QString转ANSI

1、使用QString的toLocal8Bit方法

    QString str("hello world");
    QByteArray buffer = str.toLocal8Bit(); // 将QString转换为QByteArray
    LPCSTR ansiStr = buffer.constData(); // 将QByteArray转换为LPCSTR(ANSI字符串)

2、使用qt实现函数QString::toLocal8Bit().constData()

三、QString转int

1、使用QString的toInt方法

    QString str("123");
    bool ok = false;
    int num = str.toInt(&ok); // 将QString转换为int类型
    if (ok) {
        //转换成功    
    } else {
        //转换失败
    }

2、使用QString的toInt方法转换十六进制

    QString str("A");
    bool ok = false;
    int num = str.toInt(&ok, 16); // 将QString转换为int类型,以十六进制方式转换
    if (ok) {
        //转换成功    
    } else {
        //转换失败
    }

四、QString转blob

1、使用QString的toLocal8Bit方法

    QString str("hello world");
    QByteArray buffer = str.toLocal8Bit(); // 将QString转换为QByteArray
    QByteArray blob = QByteArray::fromRawData(buffer.data(), buffer.size()); // 将QByteArray转换为Blob类型

2、使用QString的toUtf8方法

    QString str("hello world");
    QByteArray buffer = str.toUtf8(); // 将QString转换为QByteArray
    QByteArray blob = QByteArray::fromRawData(buffer.data(), buffer.size()); // 将QByteArray转换为Blob类型

五、QString转char

使用QString的toLatin1方法

    QString str("hello world");
    const char *charStr = str.toLatin1().constData(); // 将QString转换为char *

六、QString转为char

使用QString的toStdString方法

    QString str("hello world");
    std::string stdStr = str.toStdString(); // 将QString转换为std::string类型
    const char *charStr = stdStr.c_str(); // 将std::string转换为char *

七、QString转string

使用QString的toStdString方法

    QString str("hello world");
    std::string stdStr = str.toStdString(); // 将QString转换为std::string类型

八、QString转int

使用QDate的fromString方法

    QString str("2022-07-01");
    QDate date = QDate::fromString(str, "yyyy-MM-dd"); // 将QString转换为QDate类型

九、QString和char转换

1、使用QString的fromLocal8Bit方法将char转换为QString

    const char *charStr = "hello world";
    QString str = QString::fromLocal8Bit(charStr); // 将char *转换为QString

2、使用QString的fromUtf8方法将char *转换为QString

    const char *charStr = "hello world";
    QString str = QString::fromUtf8(charStr); // 将char *转换为QString