判断QString是否相等

在Qt框架中,QString 类提供了多种方法来比较两个字符串是否相等。最常用的方法是使用 == 运算符或 compare() 函数。以下是这两种方法的详细说明和示例代码:

使用 == 运算符

== 运算符用于比较两个 QString 对象是否相等。如果相等,返回 true;否则,返回 false

#include <QString>
#include <QDebug>

int main() {
    QString str1 = "hello";
    QString str2 = "hello";
    QString str3 = "world";

    if (str1 == str2) {
        qDebug() << "str1 and str2 are equal.";
    } else {
        qDebug() << "str1 and str2 are not equal.";
    }

    if (str1 == str3) {
        qDebug() << "str1 and str3 are equal.";
    } else {
        qDebug() << "str1 and str3 are not equal.";
    }

    return 0;
}

使用 compare() 函数

compare() 函数提供了更灵活的比较方式,可以指定是否区分大小写等。该函数返回一个整数:如果字符串相等,返回0;如果当前字符串小于参数字符串,返回负值;如果当前字符串大于参数字符串,返回正值。

#include <QString>
#include <QDebug>

int main() {
    QString str1 = "hello";
    QString str2 = "hello";
    QString str3 = "world";

    if (str1.compare(str2) == 0) {
        qDebug() << "str1 and str2 are equal.";
    } else {
        qDebug() << "str1 and str2 are not equal.";
    }

    if (str1.compare(str3) == 0) {
        qDebug() << "str1 and str3 are equal.";
    } else {
        qDebug() << "str1 and str3 are not equal.";
    }

    return 0;
}

忽略大小写的比较

如果你需要忽略大小写进行比较,可以使用 compare 函数的另一种形式,传递 Qt::CaseInsensitive 作为参数。

#include <QString>
#include <QDebug>

int main() {
    QString str1 = "Hello";
    QString str2 = "hello";

    if (str1.compare(str2, Qt::CaseInsensitive) == 0) {
        qDebug() << "str1 and str2 are equal ignoring case.";
    } else {
        qDebug() << "str1 and str2 are not equal ignoring case.";
    }

    return 0;
}

通过以上几种方法,你可以根据实际需求选择最适合的方式来比较 QString 对象的相等性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值