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
C strcoll syntax
The basic syntax of the strcoll in C Programming 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.
/* C strcoll Function example */ #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); }
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
/* C strcoll Function example */ #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.
/* C strcoll Function example */ #include <stdio.h> #include<string.h> int main() { char str1[100], str2[100]; int result; printf("\n Please Enter First String : "); 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 String"); } else { printf("\n First String is Equal to Second String"); } }
Please Enter First String : abcd
Please Enter the String that you want to Compare : aBCD
Second String is Less than First String