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