21xrx.com
2024-11-22 11:35:55 Friday
登录
文章检索 我的文章 写文章
C++字符串的相等判断
2023-06-30 17:56:58 深夜i     --     --
C++ 字符串 相等判断

C++中的字符串是一种重要的数据类型,其内容经常需要进行比较。在C++中,判断两个字符串是否相等是一个常见的需求,下面介绍几种判断两个字符串是否相等的方法。

一、使用比较运算符

C++中的比较运算符“==”可以用于判断两个字符串是否相等。例如:


string s1 = "hello";

string s2 = "world";

string s3 = "hello";

if (s1 == s2)

  cout << "s1 和 s2 相等" << endl;

if (s1 == s3)

  cout << "s1 和 s3 相等" << endl;

以上代码中,首先定义了三个字符串s1、s2、s3,然后使用比较运算符“==”进行比较。由于s1与s2的内容不同,所以第一个判断结果为false;而s1与s3的内容相同,因此第二个判断结果为true。

二、使用strcmp函数

C++中的strcmp函数可以用于比较两个字符串是否相等,该函数返回值为0表示两个字符串相等,返回其他值则表示不相等。例如:


char s1[] = "hello";

char s2[] = "world";

char s3[] = "hello";

if (strcmp(s1, s2) == 0)

  cout << "s1 和 s2 相等" << endl;

if (strcmp(s1, s3) == 0)

  cout << "s1 和 s3 相等" << endl;

以上代码中,首先定义了三个字符数组s1、s2、s3,然后使用strcmp函数进行比较。由于s1与s2的内容不同,所以第一个判断结果为false;而s1与s3的内容相同,因此第二个判断结果为true。

三、使用循环逐个字符比较

还可以使用循环逐个字符比较的方法来判断两个字符串是否相等。例如:


string s1 = "hello";

string s2 = "world";

string s3 = "hello";

int len1 = s1.size(), len2 = s2.size(), len3 = s3.size();

if (len1 == len2 && len1 == len3) {

  bool flag = true;

  for (int i = 0; i < len1; i++) {

    if (s1[i] != s2[i] || s1[i] != s3[i])

      flag = false;

      break;

    

  }

  if (flag)

    cout << "s1 和 s2 和 s3 相等" << endl;

  

}

以上代码中,首先定义了三个字符串s1、s2、s3,然后分别获取它们的长度。接着,如果这三个字符串的长度相等,就可以使用循环逐个字符比较的方法来判断它们是否相等。由于s1和s3的内容相同,满足条件,因此输出“s1 和 s2 和 s3 相等”,否则不输出。

通过以上三种方法的介绍,我们可以更加方便地进行字符串的相等判断,根据不同的情况选择不同的方法判断字符串是否相等。

  
  

评论区

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