21xrx.com
2024-12-22 23:25:43 Sunday
登录
文章检索 我的文章 写文章
C++字符串比较方法
2023-06-28 14:11:29 深夜i     --     --
C++ 字符串 比较方法

C++中比较字符串的方法有很多种,比如可以用比较运算符、strcmp函数、strncmp函数等。这里我们就来具体介绍一下这几种方法的使用。

1. 使用比较运算符

C++中的字符串类型可以使用比较运算符进行比较,比较的结果是一个bool值,表示两个字符串是否相等。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str1 = "hello";

  string str2 = "world";

  if (str1 == str2)

    cout << "str1 == str2" << endl;

   else

    cout << "str1 != str2" << endl;

  

  return 0;

}

2. 使用strcmp函数

strcmp函数是C语言中常用的比较字符串的方法,其原型为:


int strcmp(const char* str1, const char* str2);

几点说明:

- 当str1和str2相等时,返回0;

- 当str1大于str2时,返回一个正整数;

- 当str1小于str2时,返回一个负整数。

示例代码:


#include <iostream>

#include <cstring>

using namespace std;

int main()

{

  char str1[] = "hello";

  char str2[] = "world";

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

    cout << "str1 == str2" << endl;

   else

    cout << "str1 != str2" << endl;

  

  return 0;

}

3. 使用strncmp函数

strncmp函数和strcmp函数类似,也是用来比较两个字符串,但是需要指定比较的长度。

strncmp函数的原型为:


int strncmp(const char* str1, const char* str2, size_t n);

其中,n是比较的长度。

示例代码:


#include <iostream>

#include <cstring>

using namespace std;

int main()

{

  char str1[] = "hello";

  char str2[] = "hell";

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

    cout << "str1 == str2" << endl;

   else

    cout << "str1 != str2" << endl;

  

  return 0;

}

除了以上几种方法,C++中还有很多其他比较字符串的方法,不同的情况下需要选择合适的方法。希望本文能够对读者们有所帮助。

  
  

评论区

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