码迷,mamicode.com
首页 > 其他好文 > 详细

QString用法

时间:2015-07-21 17:04:49      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:qstring   char   string   

1、QString::arg()

用字符串变量参数依次替代字符串中最小数值

原型之一:
QString arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ‘ ‘ )) const
fieldWidth为字符宽度,base为a转化为的进制
实例:


#include<QDebug>
int main()
{
//%1%2依次替换为arg中的参数
    QString s = QString("s %1 %2").arg("is").arg("string");
    qDebug()<<s;

//默认替换为111的十进制,16表示十六进制
    s = QString("a=%1,a=%2").arg(111).arg(111,0,16);
    qDebug()<<s;

//%数值相同时对应同一个arg参数,所以参数333是多余的
    s = QString("a=%1,a=%1").arg(222).arg(333);
    qDebug()<<s;

//L截断字符串,转换为16进制时忽略L
    s = QString("b=%1,b=%L2,b=%L3").arg(12345).arg(12345).arg(12345,0,16);
    qDebug()<<s;
    return 0;
}

技术分享

2、QString与string,char* 之间的转换


借助中间类型QByteArray


#include<iostream>
#include<string>
#include<QString>
#include<QDebug>
#include<QByteArray>
using namespace std;

int main()
{
    QString qstr = QString("hello!");
    qDebug()<<"QString:"<<qstr;

    char* s1 = new char[10];
    QByteArray ba = qstr.toLocal8Bit();
    s1 = ba.data();
    cout<<"s1:"<<s1<<endl;

    string  str;
    str = ba.data();
    cout<<"str:"<<str<<endl;

    str = qstr.toStdString();
    cout<<"str:"<<str<<endl;

    return 0;
}


技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

QString用法

标签:qstring   char   string   

原文地址:http://blog.csdn.net/lyh__521/article/details/46987847

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!