21xrx.com
2024-12-22 21:16:17 Sunday
登录
文章检索 我的文章 写文章
如何用C++比较字符串是否相等
2023-07-10 03:29:08 深夜i     --     --
C++ 字符串 比较 相等

在C ++中比较两个字符串是否相等是一项基本任务。实际上,C ++提供了多种方法来比较字符串。下面我们将讨论几种方法。

1. 使用标准库的比较函数

C ++标准库提供了可以比较两个字符串的函数。 string类的变量可以使用 "== "來与另一个string比较。

示例:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string str1 = "Hello World!";

  string str2 = "Hello World!";

 

  if (str1 == str2)

    cout << "Strings are equal" << endl;

   else

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

  

  return 0;

}

在这个示例中,我们比较两个字符串 "Hello World!" 和 "Hello World!",并使用==操作符来判断它们是否相等。如果两个字符串相等,则输出 "Strings are equal",否则输出 "Strings are not equal"。

2. 使用字符串库的比较函数

如果您是使用C语言风格编写代码,则可以使用字符串库的比较函数来比较两个字符串。具体来说,您可以使用strcmp()函数。

示例:


#include <iostream>

#include <cstring>

using namespace std;

int main() {

  char str1[] = "Hello World!";

  char str2[] = "Hello World!";

  

  if (strcmp(str1, str2) == 0)

    cout << "Strings are equal" << endl;

   else

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

  

  return 0;

}

在这个示例中,我们比较两个字符数组 "Hello World!" 和 "Hello World!",并使用strcmp()函数来判断它们是否相等。如果两个字符串相等,则输出 "Strings are equal",否则输出 "Strings are not equal"。

3. 逐个比较字符

您还可以使用循环逐个比较两个字符串的字符。

示例:


#include <iostream>

#include <cstring>

using namespace std;

int main() {

  char str1[] = "Hello World!";

  char str2[] = "Hello World!";

  int i = 0;

  

  while (str1[i] == str2[i]) {

    if (str1[i] == '\0' || str2[i] == '\0')

      break;

    i++;

  }

  

  if (str1[i] == '\0' && str2[i] == '\0')

    cout << "Strings are equal" << endl;

  else

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

 

  return 0;

}

在这个示例中,我们使用while循环逐个比较字符。如果遇到不同的字符或字符串中有一个被结束符'\0'结尾,则循环将停止。如果两个字符串都以'\0'结尾,则输出 "Strings are equal",否则输出 "Strings are not equal"。

在C ++中比较两个字符串是否相等非常简单。通过使用上面提到的任何一种方法,您可以轻松地比较两个字符串。

  
  

评论区

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