Qt 两个QString比较不区分大小写

今天碰到比较两个QString字符串相等的时候区分大小写的问题,记录下来,方便以后回忆。QString默认状态下是区分大小写的,QString提供的比较函数compare第二个参数,默认是区分大小写,我们改变一下参数即可。要注意的是,两个QString相同的时候返回0,不相同的时候返回的是他们之前的差异值,这个值有可能是负的。

QString str1 = "aaa";
QString str2 = "AAA";

// QString默认状态是区分大小写 
// Qt::CaseSensitive 默认状态,区分大小写
// Qt::CaseInsensitive 这个是不区分大小写
qDebug() << str1.compare(str2);  // 没填入第二个参数,默认区分大小写
qDebug() << str1.compare(str2, Qt::CaseInsensitive);  

if (!str1.compare(str2, Qt::CaseInsensitive))
{
	qDebug() << "true";
}
else
{
	qDebug() << "false";
}
// 运行结果
32
0
true

你可能感兴趣的:(QT,字符串,c++,qt5,qt)