21xrx.com
2024-12-27 20:37:37 Friday
登录
文章检索 我的文章 写文章
C++中char数组的比较
2023-07-04 23:43:53 深夜i     --     --
C++ char数组 比较

C++中的char数组表示一个由字符组成的字符串。当需要比较两个char数组的时候,通常需要使用字符串比较函数,比如strcmp或者strncmp。

strcmp函数用于比较两个字符串是否相等。其用法如下:


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

其中,str1和str2是要比较的两个字符串名称。如果两个字符串相等,则函数返回值为0;如果第一个字符串小于第二个字符串,则返回值为负数;如果第一个字符串大于第二个字符串,则返回值为正数。下面是一个简单的例子:


#include <iostream>

#include <cstring>

using namespace std;

int main ()

{

 char str1[] = "Hello";

 char str2[] = "World";

 char str3[] = "Hello";

 int result;

 result = strcmp(str1, str2);

 cout << "strcmp(str1, str2) = " << result << endl;

 result = strcmp(str1, str3);

 cout << "strcmp(str1, str3) = " << result << endl;

 return 0;

}

输出结果为:


strcmp(str1, str2) = -15

strcmp(str1, str3) = 0

在本例中,str1和str2是不同的字符串,所以他们之间的差值被输出为负数;而str1和str3是相等的字符串,所以输出结果为0。

如果我们只需要比较char数组的前几个字符,可以使用strncmp函数。其用法如下:


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

其中,num参数指定要比较的字符数量。下面是一个简单的例子:


#include <iostream>

#include <cstring>

using namespace std;

int main ()

{

 char str1[] = "Hello";

 char str2[] = "Helpingth";

 char str3[] = "Hellboy";

 int result;

 result = strncmp(str1, str2, 4);

 cout << "strncmp(str1, str2, 4) = " << result << endl;

 result = strncmp(str1, str3, 4);

 cout << "strncmp(str1, str3, 4) = " << result << endl;

 return 0;

}

输出结果为:


strncmp(str1, str2, 4) = 0

strncmp(str1, str3, 4) = 0

在本例中,我们指定只比较四个字符,而在这四个字符内,str1和str2以及str1和str3都是相等的。所以输出结果都为0。

总的来说,C++中比较char数组非常简单,只需要使用strcmp和strncmp函数即可。通过比较函数,我们可以判断两个字符串是否相等,或者哪一个字符串大于另一个字符串。因此,在C++编程中,字符串比较函数是一项非常重要的技术。

  
  

评论区

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