_mbsnbcoll, _mbsnbicoll

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu String.h - Index


Header-Datei

mbstring.h

Kategorie

Routinen für Speicher- und String-Bearbeitung

Prototyp

int _mbsnbcoll(const unsigned char *s1, const unsigned char *s2, maxlen);

int _mbsnbicoll(const unsigned char *s1, const unsigned char *s2, maxlen);

Beschreibung

_mbsnbicoll ist die Groß-/Kleinschreibung nicht berücksichtigende Version von _mbsnbcoll.

Diese Funktionen vergleichen die durch die Argumente s1 und s2 angegebenen Strings. Die Sortierreihenfolge wird durch die lexikographische Reihenfolge bestimmt, die wiederum durch die aktuelle Multibyte-Codeseite festgelegt wird. Maximal werden maxlen Bytes verglichen.

Hinweis: Die lexikographische Reihenfolge entspricht nicht immer der Reihenfolge der Zeichen im Zeichensatz.

Ist das letzte Byte in s1 oder s2 ein führendes Byte, wird es nicht verglichen.

Rückgabewert

Jede dieser Funktionen gibt einen auf dem Ergebnis des Vergleichs von s1 (oder eines Teils davon) mit s2 (oder eines Teils davon) basierenden Integerwert zurück:

  • < 0, wenn s1 kleiner s2 ist
  • == 0, wenn s1 gleich s2 ist
  • > 0, wenn s1 größer s2 ist

Beispiel

 #include <mbstring.h>
 /* Diese Funktion wird in qsort zum Sortieren zweier String-Arrays verwendet */
 int qsort_func(char* left, char* right)
 {
   /* Länge der beiden Strings ermitteln */
   int left_len = strlen(left);
   int right_len = strlen(right);
 
   /* Die beiden Strings unter Berücksichtigung der Groß-/Kleinschreibung vergleichen */
   return _mbsnbcoll(left, right, (left_len > right_len) ? right_len : left_len);
 }

Im Fehlerfall geben diese Funktionen _NLSCMPERROR zurück.