在C++中使用std::string编写字符串相关操作时,我经常使用find方法,其实在有些场景下需要判断字符串是否相同,因而需要使用compare方法。下面是我的测试样例:
-
-
-
- #include <string>
- #include <iostream>
- using namespace std;
-
- int main(int argc, char* argv[])
- {
- string str1("green apple");
- string str2("red apple");
- string str3("apple");
-
- if(str3.compare("apple") == 0) //字段完全匹配
- cout << str3 << " is an apple!" << endl;
-
- if(str1.compare(str2) !=0)
- cout << str1 << " is not " << str2 << endl;
-
- if(str1.compare(6, 5, "apple") == 0)
- cout << "still, " << str1 << " is an apple!" << endl;
-
- if(str2.compare(str2.size() - 5, 5, "apple") == 0)
- cout << "and " << str2 << " is also an apple!" << endl;
-
- if(str1.compare(6, 5, str2, 4, 5) == 0)
- cout << "therefore, both are apples!" << endl;
-
- return 0;
- }
运行截图