21xrx.com
2024-12-23 02:18:40 Monday
登录
文章检索 我的文章 写文章
C++中字符串比较函数:strcomp()和strcoll()
2023-07-05 12:11:38 深夜i     --     --
C++ 字符串比较函数 strcomp() strcoll() 比较字符串

在C++中,字符串比较是一种常见的操作。C++语言中提供了两个常用的字符串比较函数,分别是strcmp()和strcoll()函数。

1. strcmp()函数

strcmp()函数在C++中是非常常用的函数,它可以用来比较两个字符串的大小。该函数的原型如下:

int strcmp(const char* s1, const char* s2);

该函数的作用是比较字符串s1和字符串s2的大小。如果字符串s1小于字符串s2,则返回一个负数;如果字符串s1等于字符串s2,则返回0;如果字符串s1大于字符串s2,则返回一个正数。该函数会逐个字符比较两个字符串,只要碰到不同的字符就会返回比较结果。因此,该函数比较的是字符串的字典序。

下面是一个strcmp()函数的例子:

#include

#include

using namespace std;

int main()

{

  char str1[20] = "hello";

  char str2[20] = "world";

  int result = strcmp(str1, str2);

  if(result == 0)

    cout << "字符串相等" << endl;

  else if(result < 0)

    cout << "字符串str1小于字符串str2" << endl;

  else if(result > 0)

    cout << "字符串str1大于字符串str2" << endl;

  return 0;

}

运行结果:

字符串str1小于字符串str2

2. strcoll()函数

strcoll()函数与strcmp()函数的作用类似,都是用来比较两个字符串的大小。但是它比strcmp()函数更加智能化,支持多种语言的字符比较。

strcoll()函数的原型如下:

int strcoll(const char* s1, const char* s2);

该函数的作用与strcmp()函数类似。同样是比较字符串s1和字符串s2的大小,但是它使用一种更加智能化的方式来比较字符串,支持多种语言的字符比较。因此,strcoll()函数比strcmp()函数更加智能化。

下面是一个strcoll()函数的例子:

#include

#include

using namespace std;

int main()

{

  char str1[20] = "hello";

  char str2[20] = "world";

  int result = strcoll(str1, str2);

  if(result == 0)

    cout << "字符串相等" << endl;

  else if(result < 0)

    cout << "字符串str1小于字符串str2" << endl;

  else if(result > 0)

    cout << "字符串str1大于字符串str2" << endl;

  return 0;

}

运行结果:

字符串str1小于字符串str2

综上所述,C++中字符串比较函数有两个,分别是strcmp()函数和strcoll()函数。这两个函数都是用来比较两个字符串的大小,但是strcoll()函数比较智能化,支持多种语言的字符比较。因此,在实际编程中,应该根据具体情况选择使用哪个函数。

  
  

评论区

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