什么是C语言中的strcoll()函数?
C库函数intstrcoll(constchar*str1,constchar*str2)将字符串str1与str2进行比较。结果取决于位置的LC_COLLATE设置。
字符数组称为字符串
宣言
下面给出的是数组的声明-
char stringname [size];
例如-charstring[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