Namespaces
Variants

wcsncmp

From cppreference.net
< c ‎ | string ‎ | wide
Definiert im Header <wchar.h>
int wcsncmp ( const wchar_t * lhs, const wchar_t * rhs, size_t count ) ;
(seit C95)

Vergleicht bis zu count Breitzeichen von zwei nullterminierten Breitzeichenketten. Der Vergleich erfolgt lexikographisch.

Das Vorzeichen des Ergebnisses ist das Vorzeichen der Differenz zwischen den Werten des ersten Paares von Breitzeichen, die sich in den verglichenen Zeichenketten unterscheiden.

Das Verhalten ist undefiniert, falls lhs oder rhs keine Zeiger auf nullterminierte Zeichenketten sind.

Inhaltsverzeichnis

Parameter

lhs, rhs - Zeiger auf die nullterminierten Breitzeichen-Zeichenketten zum Vergleichen
count - maximale Anzahl der zu vergleichenden Zeichen

Rückgabewert

Negativer Wert, wenn lhs vor rhs in lexikografischer Reihenfolge erscheint.

Null, wenn lhs und rhs gleich sind.

Positiver Wert, wenn lhs nach rhs in lexikographischer Reihenfolge erscheint.

Hinweise

Diese Funktion ist im Gegensatz zu wcscoll und wcsxfrm nicht gebietsschemabezogen.

Beispiel

#include <stdio.h>
#include <wchar.h>
#include <locale.h>
void demo(const wchar_t *lhs, const wchar_t *rhs, int sz)
{
    int rc = wcsncmp(lhs, rhs, sz);
    if(rc == 0)
        printf("First %d characters of [%ls] equal [%ls]\n", sz, lhs, rhs);
    else if(rc < 0)
        printf("First %d characters of [%ls] precede [%ls]\n", sz, lhs, rhs);
    else if(rc > 0)
        printf("First %d characters of [%ls] follow [%ls]\n", sz, lhs, rhs);
}
int main(void)
{
    const wchar_t *str1 = L"안녕하세요";
    const wchar_t *str2 = L"안녕히 가십시오";
    setlocale(LC_ALL, "en_US.utf8");
    demo(str1, str2, 5);
    demo(str2, str1, 8);
    demo(str1, str2, 2);
}

Ausgabe:

First 5 characters of [안녕하세요] precede [안녕히 가십시오]
First 8 characters of [안녕히 가십시오] follow [안녕하세요]
First 2 characters of [안녕하세요] equal [안녕히 가십시오]

Referenzen

  • C11-Standard (ISO/IEC 9899:2011):
  • 7.29.4.4.3 Die wcsncmp-Funktion (S. 434)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.24.4.4.3 Die wcsncmp-Funktion (S. 380)

Siehe auch

(C95)
vergleicht zwei Breitzeichenketten
(Funktion)
(C95)
vergleicht eine bestimmte Anzahl von Breitzeichen aus zwei Arrays
(Funktion)
(C95)
vergleicht zwei Breitzeichenketten gemäß der aktuellen Locale
(Funktion)
C++-Dokumentation für wcsncmp