阅读量:0
在Qt中,可以使用QString的compare()函数来比较字符串的大小。该函数有多种重载形式:
- int QString::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:比较当前字符串与另一个字符串other的大小。如果cs为Qt::CaseSensitive,则区分大小写进行比较;如果cs为Qt::CaseInsensitive,则不区分大小写进行比较。返回值为负数表示当前字符串小于other,返回值为0表示两个字符串相等,返回值为正数表示当前字符串大于other。
示例:
QString str1 = "abc"; QString str2 = "def"; int result = str1.compare(str2); if(result < 0) { qDebug() << "str1 is smaller than str2"; } else if(result > 0) { qDebug() << "str1 is greater than str2"; } else { qDebug() << "str1 is equal to str2"; }
- int QString::localeAwareCompare(const QString &other) const:使用区域设置进行字符串比较,比较大小写敏感。
示例:
QString str1 = "abc"; QString str2 = "ABC"; int result = str1.localeAwareCompare(str2); if(result < 0) { qDebug() << "str1 is smaller than str2"; } else if(result > 0) { qDebug() << "str1 is greater than str2"; } else { qDebug() << "str1 is equal to str2"; }
- int QString::compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:与第一种形式类似,但接受QStringRef作为参数。
需要注意的是,这些函数返回的结果是基于Unicode编码的字符顺序比较的。