zoukankan      html  css  js  c++  java
  • 字符串类

    字符串有如下几个操作符。
      –QString提供了一个二元的“+”操作符用于组合两个字符串,并提供了一个“+=”操作符用于将一个字符串追加到另一个字符串的末尾,例如:

    QString str1 = "Welcome ";

    str1=str1+"to you! "; //str1=" Welcome to you! "

    QString str2="Hello, ";

    str2+="World! ";               //str2="Hello,World! "

    QString::append()函数具有与“+=”操作符同样的功能,实现在一个字符串的末尾追加另一个字符串,例如:

    QString str1 = "Welcome ";

    QString str2 = "to ";

    str1.append(str2);           //str1=" Welcome to"

    str1.append("you! ");        //str1="Welcome to you! "

    组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义符和C++库中的函数sprintf()定义的一样。例如:

    QString str;

    str.sprintf("%s"," Welcome ");                 //str="Welcome "

    str.sprintf("%s"," to you! ");                  //str="to you! "

    str.sprintf("%s %s"," Welcome ", "to you! ");   //str=" Welcome to you! "

    比较两个字符串也是经常使用的功能,QString提供了多种比较手段。

    operator<(const QString&):比较一个字符串是否小于另一个字符串,如果是,则返回true。

    operator<=(const QString&):比较一个字符串是否小于等于另一个字符串,如果是,则返回true。

    operator==(const QString&):比较两个字符串是否相等,如果相等,则返回true。

    operator>=(const QString&):比较一个字符串是否大于等于另一个字符串,如果是,则返回true。

    QString::toInt()函数将字符串转换为整型数值,类似的函数还有toDouble()、toFloat()、toLong()、toLongLong()等。下面举个例子说明其用法:

    QString str="125";

    bool ok;

    int hex=str.toInt(&ok,16);       //ok=true,hex=293

    int dec=str.toInt(&ok,10);       //ok=true,dec=125

    QString提供的字符编码集的转换函数将会返回一个const char*类型版本的QByteArray,即构造函数QByteArray(const char*)构造的QByteArray对象。
    QByteArray类具有一个字节数组,它既可以存储原始字节(raw bytes),也可以存储传统的以“”结尾的8位的字符串。在Qt中,使用QByteArray比使用const char*更方便,且QByteArray也支持隐式共享。转换函数有以下几种。
      –toLatin1():返回一个Latin-1(ISO8859-1)编码的8位字符串。
      –toUtf8():返回一个UTF-8编码的8位字符串(UTF-8是ASCII码的超级,它支持整个Unicode字符集)。

     QString s = tr("A");

        QByteArray buf1 = s.toUtf8();

        QString tmp;

        tmp.sprintf("%x", buf1.constData()[0]);

    一个NULL字符串就是使用QString的默认构造函数或者使用“(const char*)0”作为参数的构造函数创建的QString字符串对象;而一个空字符串是一个大小为0的字符串。一个NULL字符串一定是一个空字符串,而一个空字符串未必是一个NULL字符串。例如:
    uQString().isNull();         //结果为true
    uQString().isEmpty();        //结果为true
    uQString("").isNull();       //结果为false
    uQString("").isEmpty();     //结果为true
     
     
     
     
  • 相关阅读:
    css实现左栏固定右栏自适应,高度自适应的布局
    使用canvas检测HTML5视频解码错误
    与webview打交道中踩过的那些坑
    走进AngularJs(五)自定义指令----(下)
    走进AngularJs(四)自定义指令----(中)
    走进AngularJs(三)自定义指令-----(上)
    为jQuery的$.ajax设置超时时间
    走进AngularJs(二) ng模板中常用指令的使用方式
    走进AngularJs(一)angular基本概念的认识与实战
    Javascript事件模型系列(四)我所理解的javascript自定义事件
  • 原文地址:https://www.cnblogs.com/shichuan/p/4497874.html
Copyright © 2011-2022 走看看