stricmp, _mbsicmp, _wcsicmp
Nach oben zu string.h
Inhaltsverzeichnis
Header-Datei
string.h, mbstring.h
Kategorie
Routinen für Speicher- und String-Bearbeitung
Prototyp
<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>
Beschreibung
Vergleicht einen String mit einem anderen, ohne die Groß-/Kleinschreibung zu berücksichtigen.
stricmp
vergleicht s1 mit s2 ohne Beachtung des Vorzeichens. Dabei wird mit dem ersten Zeichen in jedem String begonnen und mit den folgenden Zeichen fortgesetzt, bis:
- sich das entsprechende Zeichen von dem des anderen Strings unterscheidet
- oder das Ende der Strings erreicht ist.
Der Vergleich berücksichtigt die Groß-/Kleinschreibung nicht. stricmp
gibt einen auf dem Ergebnis des Vergleichs von s1 (oder eines Teils davon) mit s2 (oder eines Teils davon) basierenden Wert (< 0, 0, oder > 0) zurück.
Die Routinen stricmp
und strcmpi
sind identisch. strcmpi
ist über ein Makro in string.h implementiert, das Aufrufe von strcmpi
in Aufrufe von stricmp
übersetzt. Wenn Sie also stricmp
verwenden möchten, müssen Sie die Header-Datei string.h einbinden, damit das Makro verfügbar ist.
Rückgabewert
kleiner als s2 |
< 0 |
s1 entspricht s2 |
== 0 |
größer als s2 |
> 0 |
Beispiel
#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;
}
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
stricmp |
+ |
+ |
+ | |
_mbsicmp |
+ |
|||
_wcsicmp |
+ |