一、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