I have two postcodes char*
that I want to compare, ignoring case. Is there a function to do this?
Or do I have to loop through each use the tolower
function and then do the comparison?
Any idea how this function will react with numbers in the string
Thanks
The equalsIgnoreCase() method of the String class is similar to the equals() method the difference if this method compares the given string to the current one ignoring case.
It is case-insensitive.
C Program Case Insensitive String Comparison USING stricmp() built-in string function. /* C program to input two strings and check whether both strings are the same (equal) or not using stricmp() predefined function. stricmp() gives a case insensitive comparison.
In C, string values (including string literals) are represented as arrays of char followed by a 0 terminator, and you cannot use the == operator to compare array contents; the language simply doesn't define the operation.
There is no function that does this in the C standard. Unix systems that comply with POSIX are required to have strcasecmp
in the header strings.h
; Microsoft systems have stricmp
. To be on the portable side, write your own:
int strcicmp(char const *a, char const *b) { for (;; a++, b++) { int d = tolower((unsigned char)*a) - tolower((unsigned char)*b); if (d != 0 || !*a) return d; } }
But note that none of these solutions will work with UTF-8 strings, only ASCII ones.
Take a look at strcasecmp()
in strings.h
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With