QT中Qstring与数组相互转换

转为了QString类型后,便可以显示在相关的枚举控件上

转为了unsigned char*后,便可以直接使用内存拷贝memcpy()


    
教为示例:
    QString ipdresstext;
    QString str1,str2,str3,str4;
    int samenum=0;

//将二维数组ipadress内所有的IP地址取出显示在下拉框内
    for(int i=0;i<2;i++)
    {
        str1.clear();
        str2.clear();
        str3.clear();
        str4.clear();
        //这种做法在遇到末尾为2位数时,以及127.0.0.1时会错误
        str1.append((char)ipadress[i][0]);//ipadress[i][0]为十进制49,通过这种方式转为字符‘1’
        str1.append((char)ipadress[i][1]);//ipadress[i][1]为十进制57,通过这种方式转为字符‘9’
        str1.append((char)ipadress[i][2]);//ipadress[i][2]为十进制50,通过这种方式转为字符‘2’
                   //ipadress[i][3]为十进制46,通过这种方式转为字符‘.’估不加入,否则后需toInt()会有误
        str2.append((char)ipadress[i][4]);
        str2.append((char)ipadress[i][5]);
        str2.append((char)ipadress[i][6]);

        str3.append((char)ipadress[i][8]);

        str4.append((char)ipadress[i][10]);
        str4.append((char)ipadress[i][11]);
        str4.append((char)ipadress[i][12]);

        ipdresstext=QString("%1.%2.%3.%4").arg(str1.toInt()).arg(str2.toInt()).arg(str3.toInt()).arg(str4.toInt());
        qDebug()<<"ipdresstext:"<<ipdresstext;

    //使用for循环的方式遍历下拉框内字符串元素,并进行比对,若相同则不增加
        for(int i=0;i<ui->Mod_Get_CMS_List_CBox->count();i++)
        {
            if(ipdresstext==ui->Mod_Get_CMS_List_CBox->itemText(i))
            {
                samenum++;
            }
        }
        if(samenum==0)
        {
             ui->下拉框控件名称->addItem(ipdresstext);//新增元素
        }
    }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值