21xrx.com
2024-11-08 21:15:48 Friday
登录
文章检索 我的文章 写文章
C++字符串比较示例
2023-07-05 05:24:44 深夜i     --     --
C++ 字符串 比较 示例 比较函数

在C++编程中,字符串比较是常见的一项操作。字符串比较可以用于比较两个字符串是否相等,或者判断一个字符串是否是另一个字符串的子串。在这篇文章中,我们将介绍一些C++字符串比较的示例。

C++字符串比较的函数

C++提供了多个字符串比较的函数。常用的函数有strcmp()、strncmp()、strstr()和strcasestr()。

strcmp函数比较两个字符串的大小关系,当第一个字符串小于第二个字符串时,返回负整数;当第一个字符串大于第二个字符串时,返回正整数;当两个字符串相等时,返回0。

strncmp函数比较指定长度的两个字符串的大小关系,当第一个字符串小于第二个字符串时,返回负整数;当第一个字符串大于第二个字符串时,返回正整数;当两个字符串相等时,返回0。

strstr函数在一个字符串中查找给定子串的第一次出现,如果找到,则返回该子串在字符串中的起始位置;如果没有找到,则返回 NULL。

strcasestr函数与strstr函数类似,但是它对大小写不敏感。

下面是一个使用这些函数的示例:

#include

#include

using namespace std;

int main()

{

  char str1[] = "Hello World!";

  char str2[] = "HELLO WORLD!";

  // 使用strcmp函数比较两个字符串

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

    cout << "str1 is equal to str2" << endl;

  else

    cout << "str1 is not equal to str2" << endl;

  // 使用strncmp函数比较两个字符串的前4个字符

  if(strncmp(str1, str2, 4) == 0)

    cout << "The first 4 characters of str1 is equal to str2" << endl;

  else

    cout << "The first 4 characters of str1 is not equal to str2" << endl;

  // 使用strstr函数查找一个子串

  if(strstr(str1, "World") != NULL)

    cout << "The substring World is found in str1" << endl;

  else

    cout << "The substring World is not found in str1" << endl;

  // 使用strcasestr函数查找一个不区分大小写的子串

  if(strcasestr(str1, "world") != NULL)

    cout << "The substring world is found in str1" << endl;

  else

    cout << "The substring world is not found in str1" << endl;

  return 0;

}

输出结果如下:

str1 is not equal to str2

The first 4 characters of str1 is equal to str2

The substring World is found in str1

The substring world is not found in str1

总结

C++提供了多个字符串比较的函数,例如strcmp()、strncmp()、strstr()和strcasestr()。这些函数可以用来比较两个字符串的大小关系、查找给定子串的第一次出现等。在实际编程中,我们可以根据需要选择合适的函数来完成字符串比较的任务。

  
  

评论区

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