Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

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":;

액세스 − '\0'이 나타날 때까지 문자열에 액세스하는 데 사용되는 제어 문자열 "%s"가 있습니다.

Strcoll() 함수

이 함수는 strcmp() 함수와 동일하며 두 문자열을 비교하여 비교 값에 따라 정수를 반환합니다.

선언

다음은 strcoll() 함수의 선언입니다. -

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

여기,

  • string1은 첫 번째 문자열을 나타냅니다.
  • string2는 두 번째 문자열을 나타냅니다.

strcoll()의 반환 값

  • > 문자열 string1에서 일치하지 않는 첫 번째 문자의 ASCII 값이 string2보다 큰 경우 0입니다.

  • 두 문자열이 같으면 =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