比较两个字符串的 C++ 程序


2023年1月31日, Learn eTutorial
1709

这是一个 C++ 程序,用于比较两个字符串并检查它们是否相同。

如何比较两个字符串?

比较两个字符串意味着比较字符串的字符,以检查字符串是否相同。示例:字符串 1 - learnetutorials,字符串 2 - elearntutorials;这里 - 字符串 1 和字符串 2 不相同。

为了比较两个字符串,首先我们必须检查字符串的长度。如果两个字符串的长度不相等,那么可以肯定字符串不相同。因此,在比较两个字符串时,我们必须比较字符串的长度,然后比较字符串的字符。

在这个 C++ 程序中,我们将检查两个字符串的长度,然后借助库函数比较字符。

  • strlen() 用于查找字符串的长度
  • strcmp() 用于比较字符串。

如何编写 C++ 程序来比较和检查两个字符串?

要求用户输入两个字符串。将字符串读入两个不同的字符数组 str1 [50] 和 str2 [50];使用库函数 strlen() 查找两个字符串的长度,并将两个字符串的长度存储到整型变量 len1 和 len2 中。检查字符串的长度是否相等。如果不相等,则打印字符串不相等。如果长度相等,则使用函数 strcmp() 检查字符串的字符。如果函数返回零,则打印字符串相等,否则不相等。

算法

步骤 1: 调用头文件 iostream。

步骤 2: 调用头文件 string.h

步骤 3: 使用命名空间 std。

步骤 4: 打开整型 main 函数;int main()。

步骤 5: 声明两个字符类型数组 str1[50]、str2[50],整型变量 len1 和 len2;

步骤 6: 要求用户输入第一个字符串,并将字符串读入数组 str1[];

步骤 7: 要求用户输入第二个字符串,并将字符串读入数组 str2[];

步骤 8: 将第一个字符串的长度存储到变量 len1;

步骤 9: 将第二个字符串的长度存储到变量 len2;

步骤 10: 比较字符串的长度;

步骤 11: 如果长度不相等,则打印字符串不相等;

步骤 12: 如果长度相等,则比较字符串的字符;

步骤 13: 如果字符相同,则打印字符串相等。

步骤 14: 否则打印字符串不相等;

步骤 15: 退出


strlen()

C++ 中的 strlen() 函数返回字符串中的字符数,即其长度。它在头文件 cstring 中定义。语法是

strlen(const char* str)

其中,

  • str 是我们需要找出其长度的字符串,它被转换为 const char*。

C++ 中的 strcmp()

strcmp() 函数比较两个以 null 结尾的字符串(C 字符串)。比较是按字典顺序进行的。它在头文件 cstring 中定义。语法是

strcmp(const char* lhs, const char* rhs);

此处,

  • LHS 代表左侧
  • RHS 代表右侧

如果 LHS 中第一个不同的字符大于 RHS 中相应的字符,则 strcmp() 函数返回正值;如果 LHS 中第一个不同的字符小于 RHS 中相应的字符,则返回负值;如果 LHS 和 RHS 相等,则返回 0。

C++ 源代码

                                          #include<iostream>
#include<string.h>
using namespace std;
int main()
{
    char str1[50], str2[50];
    int len1, len2;
    cout<<"Enter the First String: ";
    cin>>str1;
    cout<<"Enter the Second String: ";
    cin>>str2;
    len1 = strlen(str1);
    len2 = strlen(str2);
    if(len1==len2)
    {
      if(strcmp(str1, str2)==0)
        cout<<"\nStrings are Equal";
      else
        cout<<"\nStrings are not Equal";
    }
    else
        cout<<"\nStrings are not Equal";
    cout<<endl;
    return 0;
}
                                      

输出

Run 1 
Enter the First String: learnetutorials
Enter the Second String: learnetutorials
Strings are Equal
Run 2
Enter the First String: learnetutorials
Enter the Second String: elearntutorials
Strings are not Equal
Run 3
Enter the First String: learnetutorials
Enter the Second String: learnetutorialslearnetutorials
Strings are not Equal