赞
踩
今天碰到比较两个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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。