Qt 字符串转换QString、QByteArray、 const char*等

1 整形 转 QString

	int number = 101;
    QString strnumber = QString("%1").arg(number);
    qDebug()<<"strnumber:"<<strnumber;

1.2 QString 转 整形

    int numberstr = strnumber.toInt();
    qDebug()<<"numberstr:"<<numberstr;

2.1 QByteArray 转 QString

    QByteArray ba = "asdasd";
    QString strba = QString(ba);
    qDebug()<<"strba:"<<strba;

2.2 QString 转 QByteArray

    QByteArray bastr = strba.toLatin1();
    qDebug()<<"bastr:"<<bastr;

2.3 QString 转 string

QString qstr;
std::string = QString::toStdString(string);

2.4 string 转QString

std::string = str_info;
QString qstr = QString::fromStdString(string);

3.1 char 转 QString

    char* ch = "hello";
    QString strch = QString("%1").arg(ch);
    qDebug()<<"strch:"<<strch;

3.2 QString 转 char

    std::string str = strch.toStdString();
    const char* chstr = str.c_str();
    qDebug()<<"chstr:"<<chstr;

4.1、结构体转QByteArray

	struct Head head;
	//填充数据
	head.fileName = m_fileName;
    head.fileSize = m_fileSize;
    
	QByteArray data;
    data.resize(sizeof(Head));
    memcpy(data.data(), &head, sizeof(Head));

4.2、QByteArray转结构体

    QByteArray array = "xxxx";
    Head head;
    char *src = array.data();
    memcpy(&head, src, sizeof(Head));

5 字符串分割

    QString tmpstr = "吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮";
    QStringList list = tmpstr.split("葡萄");              
    //QStringList QString数组,用则加头文件#include <QStringList>,用split方法以“葡萄”分割成为一个数组
    for (int var = 0; var < list.length(); ++var) {
       qDebug()<<"list["<<var<<"]="<<list[var];
       //输出  list[ 0 ]="吃  list[ 1 ]= "不吐"    list[ 2 ]= "皮,不吃"  list[ 3 ]= "到吐"   list[ 4 ]= "皮"
    }

6 字符串匹配子串替换

    QString tmpstr_2 = "吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮";
    tmpstr_2 = tmpstr_2.replace("葡萄", "荔枝");            //tmpstr_2中的“葡萄”替换为“荔枝”
    qDebug()<<"tmpstr_2:"<<tmpstr_2;
  • 0
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值