
- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - strcoll() 函式
C 庫函式 `strcoll()` 接收兩個指標變數,用於比較兩個字串(例如 str1 和 str2)。結果取決於位置的 LC_COLLATE 設定。
它的功能是根據區域設定的方式比較字串。字串比較函式(例如 strcmp)執行簡單的逐位元組比較,而 strcoll() 會考慮當前區域設定。這允許根據重要的規則(例如字母順序和大小寫敏感性)進行字串比較。
語法
以下是 C 庫函式 `strcoll()` 的語法:
strcoll(const char *str1, const char *str2)
引數
此函式接受以下引數:
str1 − 這是要比較的第一個字串。
str2 − 這是要比較的第二個字串。
返回值
此函式返回整數值:
- 如果 < 0,則 str1 小於 str2。
- 如果 > 0,則 str2 小於 str1。
- 如果 = 0,則 str1 等於 str2。
示例 1
以下 C 庫程式演示了 `strcoll()` 函式。
#include <stdio.h> #include <string.h> int main () { char str1[15]; char str2[15]; int ret; strcpy(str1, "abc"); strcpy(str2, "ABC"); ret = strcoll(str1, str2); if(ret > 0) { printf("str1 is less than str2"); } else if(ret < 0) { printf("str2 is less than str1"); } else { printf("str1 is equal to str2"); } return(0); }
輸出
執行上述程式碼後,我們將得到以下結果:
str1 is less than str2
示例 2
在這裡,我們三次使用 strcoll() 來確定正、負和零的整數值結果。
#include <stdio.h> #include <string.h> int main() { char str1[50] = "abcdef"; char str2[50] = "abcdefgh"; char str3[] = "ghijk"; char str4[] = "GHIJK"; int x, y, z; x = strcoll(str1, str2); printf("\n The Comparison of str1 and str2 Strings = %d", x); y = strcoll(str3, str4); printf("\n The Comparison of str3 and str4 Strings = %d", y); z = strcoll(str1, "abcdef"); printf("\n The Comparison of both Strings = %d", z); return 0; }
輸出
上述程式碼產生以下結果:
The Comparison of str1 and str2 Strings = -103 The Comparison of str3 and str4 Strings = 32 The Comparison of both Strings = 0
示例 3
我們不列印整數值,而是列印簡單的訊息,顯示比較語句。
#include <stdio.h> #include <string.h> int main() { char string1[50] = "abcdefgh"; char string2[50] = "ABCDEFGH"; int res res = strcoll(string1, string2); if(res < 0) { printf("\n string1 is Less than string2"); } else if(result > 0) { printf("\n string2 is Less than string1"); } else { printf("\n string1 is Equal to string2"); } return 0; }
輸出
執行程式碼後,我們將得到以下結果:
string2 is Less than string1
廣告