什么是C语言中的strcoll()函数?

C库函数int strcoll(const char * str1,const char * str2)将字符串str1str2进行比较。结果取决于位置的LC_COLLATE设置。

字符数组称为字符串

宣言

下面给出的是数组的声明-

char stringname [size];

例如-char string [50]; 长度为50个字符的字符串

初始化

  • 使用单字符常量-

char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}

  • 使用字符串常量-

char string[10] = “Hello”:;

访问-控制字符串“%s”用于访问字符串,直到遇到“ \ 0”为止

该Strcoll()功能

此函数与函数相同strcmp(),它比较两个字符串并根据比较值返回一个整数。

宣言

下面给出的是strcoll()函数的声明-

int strcoll(const char *string1, const char *string2)

这里,

  • string1指的是第一个字符串。

  • string2指的是第二个字符串。

返回值 strcoll()

  • 当字符串string1中第一个不匹配的char的ASCII值大于string2时,> 0。

  • <当字符串string1中第一个不匹配的char的ASCII值小于string2时。

  • 如果两个字符串相等,则为= 0。

示例

以下示例显示了strcoll()功能的用法。

#include <stdio.h>
#include <string.h>
int main () {
   char string1[20];
   char string2[20];
   int final;
   strcpy(string1, "WELCOME");
   strcpy(string2, "欢迎来到这个世界!");
   final = strcoll(string1, string2);
   if(final > 0){
      printf(" string1 is greater than string2");
   }else if(final < 0){
      printf("string1 is less than string2");
   }else{
      printf("string1 and string2 are equal");
   }
   return 0;
}
输出结果

执行以上程序后,将产生以下结果-

string1 is less than string2

示例

让我们看看另一个程序。

以下是在运行时使用strcoll比较两个字符串的程序-

#include <stdio.h>
int main (){
   char string1[20];
   char string2[20];
   int final;
   printf("enter string1:\n");
   gets(string1);
   printf("enter string2:\n");
   gets(string2);
   final = strcoll(string1, string2);
   if(final > 0){
      printf(" string1 is greater than string2");
   }else if(final < 0){
      printf("string1 is less than string2");
   }else{
      printf("string1 and string2 are equal");
   }
   return 0;
}
输出结果

执行以上程序后,将产生以下结果-

enter string1:
Tutorails Point
enter string2:
Point
string1 is greater than string2