當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 strcoll()用法及代碼示例


C庫函數int strcoll(const char *str1, const char *str2)比較字符串str1str2.結果取決於位置的 LC_COLLATE 設置。

字符數組稱為字符串

聲明

下麵給出的是數組的聲明 -

char stringname [size];

例如 - char string[50];長度為 50 個字符的字符串

初始化

  • 使用單字符常量 -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 使用字符串常量 -
char string[10] = "Hello":;

Accessing− 有一個控製字符串 "%s" 用於訪問字符串直到遇到‘\0’

Strcoll() 函數

該函數與 strcmp() 函數相同,它比較兩個字符串並根據比較值返回一個整數。

聲明

下麵給出的是 strcoll() 函數的聲明 -

int strcoll(const char *string1, const char *string2)

這裏,

  • string1 是指第一個字符串。
  • string2 指的是第二個字符串。

strcoll() 的返回值

  • > 0 當字符串 string1 中第一個不匹配字符的 ASCII 值大於 string2 時。

  • < 當字符串 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:\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

相關用法


注:本文由純淨天空篩選整理自Bhanu Priya大神的英文原創作品 What is strcoll() Function in C language?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。