当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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":;

Accessing− 有一个控制字符串 "%s" 用于访问字符串直到遇到‘\0’

Strcoll() 函数

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

声明

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

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

这里,

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

strcoll() 的返回值

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

  • < 当字符串 string1 中第一个不匹配字符的 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, "Welcome to the world!");
   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

相关用法


注:本文由纯净天空筛选整理自Bhanu Priya大神的英文原创作品 What is strcoll() Function in C language?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。