c++比较两个未知字符串是否相等
时间: 2024-10-04 14:01:48 浏览: 19
在 C++ 中,比较两个未知字符串是否相等通常需要使用标准库中的 `std::string` 类提供的 `compare()` 函数。这个函数会返回一个整数,如果两个字符串完全相等,则返回0;如果是第一个字符串小于第二个,返回负数;反之则返回正数。
下面是一个简单的示例:
```cpp
#include <string>
// 比较两个字符串是否相等
bool stringsEqual(const std::string &str1, const std::string &str2) {
return str1.compare(str2) == 0;
}
int main() {
std::string str1 = "Hello";
std::string str2 = "Hello";
if (stringsEqual(str1, str2)) {
std::cout << "The strings are equal.\n";
} else {
std::cout << "The strings are not equal.\n";
}
return 0;
}
```
在这个例子中,`stringsEqual` 函数接收两个 `std::string` 参数,并通过 `compare()` 函数检查它们的内容是否一样。如果返回值为0,表示字符串相等。
相关问题
C++比较两个字符串的是否相等
可以使用字符串库中的strcmp函数来比较两个字符串是否相等。
strcmp函数的用法如下:
```c
int strcmp(const char *s1, const char *s2);
```
其中s1和s2是要比较的两个字符串,函数返回值为0表示两个字符串相等,否则返回非零值。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "hello";
char str2[20] = "world";
char str3[20] = "hello";
if (strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal\n");
} else {
printf("str1 and str2 are not equal\n");
}
if (strcmp(str1, str3) == 0) {
printf("str1 and str3 are equal\n");
} else {
printf("str1 and str3 are not equal\n");
}
return 0;
}
```
输出结果为:
```
str1 and str2 are not equal
str1 and str3 are equal
```
c++判断两个字符串是否相等
在 C++ 中,可以使用字符串类 string 的 compare() 或者 == 运算符来比较两个字符串是否相等。
例如,可以使用以下代码判断两个字符串 str1 和 str2 是否相等:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1 = "hello";
string str2 = "world";
if (str1 == str2) {
cout << "str1 equals str2" << endl;
} else {
cout << "str1 does not equal str2" << endl;
}
return 0;
}
```
也可以使用 compare() 方法:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1 = "hello";
string str2 = "world";
if (str1.compare(str2) == 0) {
cout << "str1 equals str2" << endl;
} else {
cout << "str1 does not equal str2" << endl;
}
return 0;
}
```
以上两种方法都可以判断两个字符串是否相等。
阅读全文