stricmp, _mbsicmp, _wcsicmp

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu string.h


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.

Hinweis: In RAD Studio konvertieren die Funktionen die Strings für den Vergleich in Großbuchstaben. Dies unterscheidet sich von anderen Implementierungen, insbesondere von Visual C++, das zum Vergleich Kleinbuchstaben verwendet.

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

+