strcoll,_stricoll, _mbscoll, _mbsicoll, wcscoll, _wcsicoll

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu string.h - Index


Header-Datei

string.h, mbstring.h

Kategorie

Routinen für Speicher- und String-Bearbeitung

Prototyp

int strcoll(const char *s1, const char *s2);

int wcscoll(const wchar_t *s1, const wchar_t *s2);

int _stricoll(const char *s1, const char *s2);

int _wcsicoll(const wchar_t *s1, wconst_t char *s2);

int _mbscoll(const unsigned char *s1, const unsigned char *s2);

int _mbsicoll(const unsigned char *s1, const unsigned char *s2);

Beschreibung

Vergleicht zwei Strings.

strcoll vergleicht den String, auf den s1 zeigt, mit dem String, auf den s2 zeigt, entsprechend der Kategorie LC_COLLATE des aktuellen Gebietsschemas.

_stricoll arbeitet wie strcoll, berücksichtigt jedoch die Groß-/Kleinschreibung nicht.

Anmerkung:  _stricoll vergleicht die Strings nicht gemäß der Kategorie LC_COLLATE des aktuellen Gebietsschemas. _stricoll gibt einen Wert des Typs stricmp zurück. Die erforderliche Sortierreihenfolge wird über einen Aufruf von _lstricoll oder einfach stricoll (die ihrerseits _lstricoll verwendet) erreicht.

Die die tatsächliche Sortierreihenfolge bestimmende Funktion (_lstricoll) gibt -1, 0 oder 1 zurück, während _stricoll auf Grundlage der lokalen Codeseite vergleicht und < 0, 0 oder > 0 zurückgibt.

Rückgabewert

kleiner als s2

< 0

s1 entspricht s2

== 0

größer als s2

> 0



Beispiel



 #include <stdio.h>
 #include <string.h>
 int main(void)
 {
    char *two = "International";
    char *one = "Borland";
    int check;
    check = strcoll(one, two);
    if (check == 0)
       printf("The strings are equal\n");
    if (check <  0)
       printf("%s comes before %s\n", one, two);
    if (check >  0)
       printf("%s comes before %s\n", two, one);
    return 0;
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

strcoll

+

+

+

+

_stricoll

+

_mbscoll

+

_mbsicoll

+

wcscoll

+

+

+

_wcsicoll

+