strncmpi, wcsncmpi

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu string.h - Index


Header-Datei

string.h

Kategorie

Routinen für Speicher- und String-Bearbeitung

Prototyp

int strncmpi(const char *s1, const char *s2, size_t n);

int wcsncmpi(const wchar_t *s1, const wchar_t *s2, size_t n);

Beschreibung

Vergleicht einen Teil eines String mit einem Teil eines anderen, ohne die Groß-/Kleinschreibung zu berücksichtigen.

strncmpi vergleicht, unter Berücksichtigung des Vorzeichens, maximal n Bytes von s1 mit s2. Der Vergleich beginnt mit dem ersten Zeichen eines jeden Strings und wird mit den folgenden Zeichen fortgesetzt, bis sich die jeweiligen Zeichen unterscheiden oder n Zeichen verglichen wurden. Der Vergleich berücksichtigt die Groß-/Kleinschreibung nicht. (strncmpi entspricht strnicmp -- implementiert als Makro). strncmpi gibt einen auf dem Ergebnis des Vergleichs von s1 (oder eines Teils davon) mit s2 (oder eines Teils davon) basierenden Integerwert (< 0, 0 oder > 0) zurück.

Die Routine strnicmp ist die gleiche wie strncmpi. strncmpi ist als Makro in string.h implementiert, das Aufrufe von strncmpi in Aufrufe von strnicmp übersetzt. Wenn Sie also strncmpi verwenden wollen, müssen Sie die Header-Datei string.h einbinden, damit das Makro verfügbar ist. Dieses Makro wird aus Gründen der Kompatibilität mit anderen C-Compilern bereitgestellt.

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 = "BBBccc", *buf2 = "bbbccc";
    int ptr;
    ptr = strncmpi(buf2,buf1,3);
    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++

strncmpi

+

wcsncmpi

+