C++中比较字符串相等的方法有:①std::string用==操作符最简洁;②compare()成员函数返回0表示相等,适合复杂场景;③C风格字符串用strcmp(),需包含<cstring>,返回0为相等;④忽略大小写可自定义函数结合tolower实现。推荐优先使用std::string和==。

在C++中,比较两个字符串是否相等有多种方式,具体取决于你使用的是C++标准库的 std::string 还是传统的C风格字符串(字符数组)。下面介绍几种常见且正确的方法。
示例代码:
#include <iostream>
#include <string>
int main() {
std::string str1 = "hello";
std::string str2 = "hello";
if (str1 == str2) {
std::cout << "字符串相等" << std::endl;
} else {
std::cout << "字符串不相等" << std::endl;
}
return 0;
}
示例:
立即学习“C++免费学习笔记(深入)”;
std::string str1 = "hello";
std::string str2 = "hello";
if (str1.compare(str2) == 0) {
std::cout << "字符串相等" << std::endl;
}
示例:
立即学习“C++免费学习笔记(深入)”;
#include <iostream>
#include <cstring>
int main() {
char str1[] = "hello";
char str2[] = "hello";
if (std::strcmp(str1, str2) == 0) {
std::cout << "字符串相等" << std::endl;
}
return 0;
}
示例:
立即学习“C++免费学习笔记(深入)”;
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
bool isEqualIgnoreCase(const std::string& a, const std::string& b) {
if (a.length() != b.length()) return false;
return std::equal(a.begin(), a.end(), b.begin(),
[](char a, char b) {
return std::tolower(a) == std::tolower(b);
});
}
基本上就这些。日常开发中,优先使用 std::string 和 == 操作符,既安全又方便。遇到C风格字符串时再考虑 strcmp。灵活选择方法能让你的代码更清晰可靠。
以上就是C++如何比较两个字符串是否相等_C++ 字符串比较方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号