strcoll in C language

The C strcoll function is a String Function, used to compare two strings. The result of this function depends upon the LC_COLLATE settings. The strcoll method returns any of the following values:

  • It will return -1 if str1 is less than str2.
  • It returns +1 if str1 is greater than str2.
  • and this function will return 0 if str1 and str2 are equal.

The basic syntax of the strcoll in this language is as shown below.

char *strcoll(const char *str1, const char *str2);

or we can simply write it as:

strcoll(str1, str2);

strcoll in C language Example

The strcoll function used to compare two strings based on the location settings. This program will help you to understand the strcoll with multiple examples.

TIP: You have to include the #include<string.h> header before using this strcoll String Function.

#include <stdio.h> 
#include<string.h>

int main()
{
char str1[50] = "abcdef";
char str2[50] = "abcdefgh";
char str3[] = "ghijk";
char str4[] = "GHIJK";
int i, j, k;

i = strcoll(str1, str2);
printf("\n The Comparison of str1 and str2 Strings = %d", i);

j = strcoll(str3, str4);
printf("\n The Comparison of str3 and str4 Strings = %d", j);

k = strcoll(str1, "abcdef");
printf("\n The Comparison of both Strings = %d", k);
}
strcoll in C language Example 1

String strcoll Example 2

Instead of printing 0, 1, and -1 as the output, this C program will print a meaningful message using Else If Statement

#include <stdio.h> 
#include<string.h>

int main()
{
char str1[50] = "abcdefgh";
char str2[50] = "ABCDEFGH";
int result;

result = strcoll(str1, str2);

if(result < 0)
{
printf("\n str1 is Less than str2");
}
else if(result > 0)
{
printf("\n str2 is Less than str1");
}
else
{
printf("\n str1 is Equal to str2");
}
return 0;
}
 str2 is Less than str1

strcoll Function Example 3

This C Program allows the user to enter two strings. Next, it is going to compare those two strings using strcoll function.

#include <stdio.h> 
#include<string.h>

int main()
{
char str1[100], str2[100];
int result;

printf("\n Please Enter First : ");
gets(str1);

printf("\n Please Enter the String that you want to Compare : ");
gets(str2);

result = strcoll(str1, str2);

if(result < 0)
{
printf("\n First String is Less than Second String");
}
else if(result > 0)
{
printf("\n Second String is Less than First One");
}
else
{
printf("\n First String is Equal to Second One");
}
}
 Please Enter First  : abcd

 Please Enter the String that you want to Compare : aBCD

 Second String is Less than First One