_mbsnbcoll, _mbsnbicoll
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.