stricmp, _mbsicmp, _wcsicmp
Go Up to string.h Index
Contents
Header File
string.h, mbstring.h
Category
Memory and String Manipulation Routines
Prototype
<span class="codeInline">int stricmp(const char *s1, const char *s2);</span>
<span class="codeInline">int _wcsicmp(const wchar_t *s1, const wchar_t *s2);</span>
<span class="codeInline">int _mbsicmp(const unsigned char *s1, const unsigned char *s2);</span>
Description
Compares one string to another, without case sensitivity.
stricmp performs an unsigned comparison of s1 to s2, starting with the first character in each string and continuing with the next characters until:
- The corresponding characters differ
- Or the end of the strings is reached.
The comparison is not case-sensitive. stricmp returns a value (< 0, 0, or > 0) based on the result of comparing s1 (or part of it) to s2 (or part of it).
The routines stricmp and strcmpi are the same. strcmpi is implemented through a macro in string.h that translates calls from strcmpi to stricmp. Therefore, to use stricmp you must include the header file string.h for the macro to be available.
Return Value
|
less than s2 |
< 0 |
|
the same as s2 |
== 0 |
|
greater than s2 |
> 0 |
Example
#include <string.h>
#include <stdio.h>
int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;
ptr = stricmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");
if (ptr == 0)
printf("buffer 2 equals buffer 1\n");
return 0;
}
Portability
| POSIX | Win32 | ANSI C | ANSI C++ | |
|---|---|---|---|---|
|
stricmp |
+ |
+ |
+ | |
|
_mbsicmp |
+ |
|||
|
_wcsicmp |
+ |