1. 判断两个字符串是否相等
如果要判断两个字符串是否相等,可以使用C++中的"=="运算符。例如:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "hello";
string s2 = "world";
if (s1 == s2) {
cout << "s1 is equal to s2." << endl;
} else {
cout << "s1 is not equal to s2." << endl;
}
return 0;
}
输出结果:
s1 is not equal to s2.
2. 判断两个字符串的大小关系
要判断两个字符串的大小关系,可以使用C++中的compare()函数。该函数返回一个整数,表示字符串之间的大小关系。
2.1 判断字符串是否相等
如果两个字符串相等,compare()函数返回值为0。例如:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "hello";
string s2 = "hello";
int result = s1.compare(s2);
if (result == 0) {
cout << "s1 is equal to s2." << endl;
} else {
cout << "s1 is not equal to s2." << endl;
}
return 0;
}
输出结果:
s1 is equal to s2.
2.2 判断字符串的大小关系
如果两个字符串不相等,compare()函数会返回一个非零的值,其绝对值表示两个字符串第一个不同字符的ASCII码值的差,符号表示两个字符串的大小关系。例如:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "hello";
string s2 = "world";
int result = s1.compare(s2);
if (result < 0) {
cout << "s1 is less than s2." << endl;
} else if (result > 0) {
cout << "s1 is greater than s2." << endl;
} else {
cout << "s1 is equal to s2." << endl;
}
return 0;
}
输出结果:
s1 is less than s2.
3. 比较字符串的一部分
如果要比较字符串的一部分,可以使用C++中的compare()函数的另一个重载形式,该形式接受三个参数:要比较的字符串,要比较的字符串的起始位置,要比较的字符串的长度。例如:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello, world";
string substr = "hello";
int result = str.compare(0, substr.length(), substr);
if (result == 0) {
cout << "substr is equal to the first " << substr.length() << " characters of str." << endl;
} else {
cout << "substr is not equal to the first " << substr.length() << " characters of str." << endl;
}
return 0;
}
输出结果:
substr is equal to the first 5 characters of str.
4. 忽略大小写比较字符串
如果要忽略大小写比较字符串,可以使用C++中的stricmp()函数(Windows环境下)。该函数接受两个参数:要比较的字符串。例如:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "Hello";
string s2 = "hello";
int result = stricmp(s1.c_str(), s2.c_str());
if (result == 0) {
cout << "s1 is equal to s2." << endl;
} else if (result < 0) {
cout << "s1 is less than s2." << endl;
} else {
cout << "s1 is greater than s2." << endl;
}
return 0;
}
输出结果:
s1 is equal to s2.
5. 总结
本文介绍了C++中比较字符串的几种方法,包括判断字符串是否相等,判断字符串的大小关系,比较字符串的一部分以及忽略大小写比较字符串。对于C++编程者来说,熟练掌握这些方法是非常重要的。