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
廣告