• Qt之Qstring


                                                      Qstring 类的特点

     QString类有如下特点:

    (1)采用 Unicode 编码,所以一个QChar 类对象占用两个字节。
    (2)使用隐式共享技术来节省内存和减少不必要的数据备份
    (3)跨平台使用,不用考虑字符串的平台兼容性。
    (4) QString类直接支持字符串和数字之间的相互转换。
    (5)QString 类直接支持字符串之间的大小比较(按照字典顺序)。
    (6) QString类直接支持不同编码下的字符串转换。

    (7)QString 类直接支持 std::string 和 std::wstring之间的相互转换。
    (8) QString类直接支持正则表达式的使用。

    1. 初始化

    通常有两种方法可以初始化 QString 类的对象。
    第一种方法是通过构造函数。
    QString类的构造函数较多,通常有如下几种用法://使用QChar数组中长度为size个的字符来构造字符串,即初始化

    QString ( const QChar * unicode, int size );
    QString ( const QChar * unicode ); //使用 QChar 数组构造 QString,结尾以'\o'结QString ( QChar ch );

    QString ( QChar ch );//使用 QChar 数组构造 QString,结尾以'\o'结
    Qstring ( int size, QChar ch ); //使用size个ch字符来构造
    QString ( const QLatin1String & str ); //使用**单字节编码**的 str 构造 QStringQString ( const QString & other ); 
    QString ( const QByteArray & ba ); //使用其他QString 引用构造新的 QStrina//使用字符串常量构造 QString
    QString ( const char * str );//使用字节数组构造 QString

    例如,以下代码创建一个长度为5的字符串,内容为“Hello” :

    QString str("Hello");
    效果等同于直接赋值:QString str = "Hello";

    又比如:static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
    // 使用了构造函数QString ( const QChar * unicode, int size );
    QString str(data, 4);
    第二种方法是使用 resize()设置字符串的大小,并初始化字符数组中的每个元素。
    比如:QString str;
    str.resize (4);
    str.resize (4);
    str[0] = QChar ('U');

    str[1] = QChar('n');

    str[2] = QChar (0x10e3);

    str[3] = QChar(0x03a3);


    QString 类的索引值从 0 开始,和 C++的数组一样。

    调用 resize)函数后,新分配的字节有未定义的值。
    要将所有字节设置为同一个特定值,可以调用 fillO函数,该函数的原型声如下:QString::fill ( QChar ch, int size = -1 );
    其中,ch 是要填充的字符;
    size 是要填充的字符个数,即填充 size 个 ch 字符。
    比如:QString str = "Berlin";
    str.fill('z');// str == "zzzzzz"

  • 相关阅读:
    Python爬虫——Scrapy框架使用实例及执行过程
    测试用例的8大设计原则
    【无标题】
    Kubernetes网络侃闲天
    流水线的dependence问题(指令相关性)
    OpenCV--滤波器(一)
    Math.Round() “四舍五入“方法
    计算机毕业设计ssm庆阳红色旅游网站建设s237y系统+程序+源码+lw+远程部署
    [QCM6125][Android13] 解决应用调用静态广播无法接收到的问题
    17:00面试,17:09就出来了 ,问的实在是太...
  • 原文地址:https://blog.csdn.net/lsh11111/article/details/136205079