21xrx.com
2025-04-14 06:11:08 Monday
文章检索 我的文章 写文章
如何用C++比较字符串是否相等
2023-07-10 03:29:08 深夜i     17     0
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 ++中比较两个字符串是否相等非常简单。通过使用上面提到的任何一种方法,您可以轻松地比较两个字符串。

  
  

评论区

请求出错了