21xrx.com
2024-11-22 08:22:26 Friday
登录
文章检索 我的文章 写文章
如何在 C++ 中比较字符串是否相等?
2023-06-28 21:43:29 深夜i     --     --
C++ 字符串 比较 相等 方法

在 C++ 中,我们有多种方法比较两个字符串是否相等。下面是其中的一些方法:

1. 使用相等运算符“==”

最常用的方法是使用相等运算符“==”来比较两个字符串是否相等。只要两个字符串的内容完全相同(包括大小写),比较的结果就为“true”(即1),否则为“false”(即0)。

例如,使用相等运算符比较两个字符串s1和s2:


string s1 = "hello";

string s2 = "world";

if (s1 == s2)

  cout << "s1 equals to s2." << endl;

else

  cout << "s1 does not equal to s2." << endl;

输出结果为“s1 does not equal to s2.”。

2. 使用字符串对象的成员函数“compare()”

另一种方法是使用字符串对象的成员函数“compare()”。这个函数会比较两个字符串的大小,并返回一个整数值,表示它们的相对大小关系。如果两个字符串相等,函数返回0;如果第一个字符串小于第二个字符串,函数返回负数;反之则返回正数。

例如,使用字符串对象的成员函数“compare()”比较两个字符串s1和s2:


string s1 = "hello";

string s2 = "world";

if (s1.compare(s2) == 0)

  cout << "s1 equals to s2." << endl;

else

  cout << "s1 does not equal to s2." << endl;

输出结果为“s1 does not equal to s2.”。

3. 使用C风格字符串的库函数“strcmp()”

如果我们使用C风格字符串(即以字符数组形式表示的字符串),也可以使用库函数“strcmp()”比较两个字符串是否相等。这个函数会比较两个字符串的ASCII码值,并返回一个整数值,表示它们的相对大小关系。如果两个字符串相等,函数返回0;如果第一个字符串小于第二个字符串,函数返回负数;反之则返回正数。

例如,使用函数“strcmp()”比较两个字符串s1和s2:


char s1[] = "hello";

char s2[] = "world";

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

  cout << "s1 equals to s2." << endl;

else

  cout << "s1 does not equal to s2." << endl;

输出结果同样为“s1 does not equal to s2.”。

需要注意的是,使用“strcmp()”比较字符串时,必须确保两个字符串以“\0”结尾,否则可能导致越界访问的问题。

以上就是在C++中比较字符串是否相等的几种方法。在实际使用中,我们可以根据具体情况选择不同的方法,以达到最佳的效果。

  
  

评论区

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