Computer >> Máy Tính >  >> Lập trình >> lập trình C

Hàm strcoll () trong ngôn ngữ C là gì?

Hàm thư viện C int strcoll (const char * str1, const char * str2) so sánh chuỗi str1 tới str2 . Kết quả phụ thuộc vào cài đặt LC_COLLATE của vị trí.

Một mảng các ký tự được gọi là một chuỗi

Tuyên bố

Dưới đây là khai báo của một mảng -

char stringname [size];

Ví dụ - chuỗi ký tự char [50]; chuỗi dài 50 ký tự

Khởi tạo

  • Sử dụng hằng số ký tự -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • Sử dụng hằng số chuỗi -
char string[10] = "Hello":;

Truy cập - Có một chuỗi điều khiển "% s" được sử dụng để truy cập vào chuỗi cho đến khi nó gặp ‘\ 0’

Hàm Strcoll ()

Hàm này giống như hàm strcmp (), nó so sánh hai chuỗi và trả về một số nguyên dựa trên giá trị so sánh.

Tuyên bố

Dưới đây là khai báo của hàm strcoll () -

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

Đây,

  • string1 đề cập đến Chuỗi đầu tiên.
  • string2 đề cập đến Chuỗi thứ hai.

Giá trị trả về của strcoll ()

  • > 0 khi giá trị ASCII của ký tự chưa khớp đầu tiên trong chuỗi string1 lớn hơn string2.

  • =0 nếu cả hai chuỗi bằng nhau.

Ví dụ

Ví dụ sau cho thấy cách sử dụng hàm 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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

string1 is less than string2

Ví dụ

Hãy xem một chương trình khác.

Sau đây là chương trình so sánh hai chuỗi bằng cách sử dụng strcoll trong thời gian chạy -

#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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

enter string1:
Tutorails Point
enter string2:
Point
string1 is greater than string2