strcmpi(): case insensitive string comparison

#include <stdio.h>
#include <string.h>
int main(void){
   char str1[]="Plus2";
   char str2[]="plus2net";
   char str3[]="Plus2net";
   int x,y,z;
   x=strcmpi(str1,str2);
   y=strcmpi(str2,str1);
   z=strcmpi(str2,str3);
   printf("Output: %d , %d,%d",x,y,z);
   return 0;
}
The output of above code is here
-1,1,0
x =-1 because length of str1 is less than length of str2.
y = 1 because length of str2 is greater than length of str1.
z = 0 because length of str2 is equal to length of str3.

strcmpi(string1, string2);
string1, string2 : Two Input strings for camparison.
Output
  • 0 : If both strings are equal.
  • 1 : If length of string1 > length of string2 .
  • -1 : If length of string1 < length of string2 .

strcmpi() is case insensitive string comparison so the output of below code is 0 ( not 1 )
#include <stdio.h>
#include <string.h>
int main(void){
   char str2[]="plus2net";
   char str3[]="Plus2net"; // Watch the first char P 
   int z;
   z=strcmpi(str2,str3);
   printf("Output: %d",z);
   return 0;
}
Output
0
Note : this ignores case of the letter for comparison.

Example 1: Case-Insensitive String Comparison Using strcmpi()

This example demonstrates how to compare two strings without considering case sensitivity using strcmpi().

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

int main() {
    char str1[] = "Hello";
    char str2[] = "hello";
    
    if (strcmpi(str1, str2) == 0) {
        printf("The strings are equal (case-insensitive).\n");
    } else {
        printf("The strings are not equal.\n");
    }
    
    return 0;
}
Output:
The strings are equal (case-insensitive).
---

Example 2: Case-Insensitive Comparison Using strcasecmp() (Alternative to strcmpi)

In environments where strcmpi() is unavailable, strcasecmp() can be used as an alternative for case-insensitive comparisons.

#include <stdio.h>
#include <strings.h>

int main() {
    char str1[] = "Plus2Net";
    char str2[] = "plus2net";
    
    if (strcasecmp(str1, str2) == 0) {
        printf("The strings are equal (case-insensitive).\n");
    } else {
        printf("The strings are not equal.\n");
    }
    
    return 0;
}
Output:
The strings are equal (case-insensitive).
---

Example 3: Comparing User Input Strings (Case-Insensitive)

This example compares two strings entered by the user, ignoring case sensitivity.

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

int main() {
    char str1[50], str2[50];
    
    printf("Enter the first string: ");
    fgets(str1, sizeof(str1), stdin);
    str1[strcspn(str1, "\n")] = '\0';  // Remove newline character
    
    printf("Enter the second string: ");
    fgets(str2, sizeof(str2), stdin);
    str2[strcspn(str2, "\n")] = '\0';  // Remove newline character
    
    if (strcmpi(str1, str2) == 0) {
        printf("The strings are equal (case-insensitive).\n");
    } else {
        printf("The strings are not equal.\n");
    }
    
    return 0;
}
Output:
Enter the first string: Test
Enter the second string: test
The strings are equal (case-insensitive).



plus2net.com






We use cookies to improve your browsing experience. . Learn more
HTML MySQL PHP JavaScript ASP Photoshop Articles Contact us
©2000-2025   plus2net.com   All rights reserved worldwide Privacy Policy Disclaimer