C语言中strcoll()函数是什么?
C库函数 **int strcoll(const char *str1, const char *str2)** 用于比较字符串 **str1** 和 **str2**。结果取决于位置的 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() 的返回值
> 0 当字符串string1中第一个不匹配字符的ASCII值大于string2时。
< 0 当字符串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:
");
gets(string1);
printf("enter string2:
");
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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP