C++ std::string::compare() 按字典序比较当前串与另一串,返回负值、零或正值,分别表示小于、相等、大于。日常相等判断更常用 ==。
原型
int compare(const string& str) const;
int compare(const char* s) const;参数
str/s:比较对象。另有指定子区间的重载。
返回值
小于返回负整数,相等返回 0,大于返回正整数。具体绝对值由实现决定,只判断符号。
示例
#include <iostream>
#include <string>
int main() {
std::string a = "abc";
std::string b = "abd";
std::cout << (a.compare(b) < 0) << " " << (a == "abc") << std::endl;
return 0;
}输出:
1 1
注意事项
比较区分大小写,且按字节序,不一定等于人类语言的词典序。只关心是否相等时写 == / != 更清晰。