21xrx.com
2024-12-23 00:24:23 Monday
登录
文章检索 我的文章 写文章
C++如何比较字符串相等?
2023-07-04 18:52:37 深夜i     --     --
C++ 字符串 比较 相等

在C++中,我们可以使用多种方法比较字符串相等。在本篇文章中,将向您介绍三种比较字符串相等的方法。

方法一:使用operator==

这是一个比较简单的方法,可以使用C++字符串类提供的operator==运算符。operator==运算符将比较两个字符串是否完全相等。如果相等,则该运算符返回true,否则返回false。以下是使用operator==比较字符串相等的示例代码:


#include <iostream>

#include <string>

using namespace std;

int main() {

 string str1 = "hello";

 string str2 = "world";

 

 if (str1 == str2)

  cout << "strings are equal" << endl;

  else

  cout << "strings are not equal" << endl;

 

 

 return 0;

}

上述代码将输出“strings are not equal”,因为str1和str2中的字符串不相等。

方法二:使用compare方法

string类还提供了一个compare方法,可以比较两个字符串是否相等。这个方法可以返回三种不同的值:

- 如果第一个字符串小于第二个字符串,则返回一个负整数。

- 如果两个字符串相等,则返回0。

- 如果第一个字符串大于第二个字符串,则返回一个正整数。

以下是使用string::compare方法比较字符串相等的示例代码:


#include <iostream>

#include <string>

using namespace std;

int main() {

 string str1 = "hello";

 string str2 = "world";

 

 int result = str1.compare(str2);

 

 if (result == 0)

  cout << "strings are equal" << endl;

  else

  cout << "strings are not equal" << endl;

 

 

 return 0;

}

上述代码将输出“strings are not equal”,因为str1和str2中的字符串不相等。

方法三:使用strcmp函数

C++还提供了一个C库函数strcmp,可以比较两个字符串是否相等。以下是使用strcmp函数比较字符串相等的示例代码:


#include <iostream>

#include <cstring>

using namespace std;

int main() {

 char str1[] = "hello";

 char str2[] = "world";

 

 int result = strcmp(str1, str2);

 

 if (result == 0)

  cout << "strings are equal" << endl;

  else

  cout << "strings are not equal" << endl;

 

 

 return 0;

}

上述代码将输出“strings are not equal”,因为str1和str2中的字符串不相等。

结论

在C++中,我们可以使用operator==运算符、string::compare方法以及strcmp函数比较字符串相等。这些方法各有优缺点。使用operator==运算符和string::compare方法是string类提供的比较简单的方法,而strcmp函数可以处理更大的字符串。您可以根据自己的需要选择适合您的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复