Qt字符串比较
Qt String Comparison
假设我有:
QString x;
是以下代码片段:
if(x.compare("abcdefg") == 0){
doSomething();
}
else{
doSomethingElse();
}
…功能等效于:
if(x == "abcdefg"){
doSomething();
}
else{
doSomethingElse();
}
我可以通过编写一个相当琐碎的程序并执行它来为自己证明这一点,但我很惊讶我在这里找不到问题/答案,所以我想为了将来的我/其他人,我应该问一下。
QString::compare
只有在传递给它的字符串和调用它的字符串相等的情况下才会返回0。
Qstring::operator==
如果字符串相等则返回true,否则返回false。
因为compare只在字符串相等时返回0,所以
(qstrign_variable.compare("text") == 0) == (qstrign_variable == "text")
如qstrign_variable
中包含"text"
。如果qstrign_variable
包含其他内容,则两种情况的值都为false。
还要注意std::string
具有相同的行为
相关文章:
- 视觉C++使用 map 来比较字符串中的每个单词
- 我正在尝试从输入文件中读取,然后使用它们的子字符串比较字符串的特定部分
- 比较字符串的 GetLine 工作一次,然后比较之后不起作用
- C++使用关系运算符比较字符串
- 通过默认复制构造函数比较 C++ 字符串是否会影响性能,原因为何?
- C++ TCP 服务器比较字符串失败
- 如何在不复制的情况下比较字符串的一部分?
- 比较 C++ 字符串打印中的两个整数数组
- 如何比较字符串形式的临时变量
- std::out_of_range 比较字符串中的符号时出错
- 比较字符串大小写不区分的简单方法是什么?
- 比较字符串忽略 NUL
- 比较字符串(arduino)时出现问题
- 如何在C++中比较字符串
- 比较字符串对象等于向量中的元素
- C 比较字符串操作速度
- 需要比较字符串的某些元素
- 比较字符串 .c_str() 和普通字符串的差异
- C 比较字符串的字符
- 通过使用两个不同的队列比较字符串