CompareStringA-Funktion (winnls.h)
Vergleicht zwei Zeichenfolgen für ein Gebietsschema durch bezeichner angegeben.
Syntax
int CompareStringA(
[in] LCID Locale,
[in] DWORD dwCmpFlags,
[in] PCNZCH lpString1,
[in] int cchCount1,
[in] PCNZCH lpString2,
[in] int cchCount2
);
Parameter
[in] Locale
Gebietsschemabezeichner des gebietsschemas, das für den Vergleich verwendet wird. Sie können das MAKELCID Makro verwenden, um einen Gebietsschemabezeichner zu erstellen oder einen der folgenden vordefinierten Werte zu verwenden.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwCmpFlags
Flags, die angeben, wie die Funktion die beiden Zeichenfolgen vergleicht. Ausführliche Definitionen finden Sie im dwCmpFlags Parameter von CompareStringEx.
[in] lpString1
Zeigen Sie auf die erste zu vergleichende Zeichenfolge.
[in] cchCount1
Länge der Zeichenfolge, die durch lpString1angegeben wird, mit Ausnahme des endierenden Nullzeichens. Dieser Wert stellt Bytes für die ANSI-Version der Funktion und breite Zeichen für die Unicode-Version dar. Die Anwendung kann einen negativen Wert angeben, wenn die Zeichenfolge null-beendet ist. In diesem Fall bestimmt die Funktion die Länge automatisch.
[in] lpString2
Zeigen Sie auf die zweite zu vergleichende Zeichenfolge.
[in] cchCount2
Länge der durch lpString2angegebenen Zeichenfolge, mit Ausnahme des endierenden Nullzeichens. Dieser Wert stellt Bytes für die ANSI-Version der Funktion und breite Zeichen für die Unicode-Version dar. Die Anwendung kann einen negativen Wert angeben, wenn die Zeichenfolge null-beendet ist. In diesem Fall bestimmt die Funktion die Länge automatisch.
Rückgabewert
Gibt die für CompareStringExbeschriebenen Werte zurück.
Bemerkungen
Siehe Hinweise für CompareStringEx.
Wenn Ihre Anwendung die ANSI-Version von CompareStringaufruft, konvertiert die Funktion Parameter über die Standardcodeseite des angegebenen Gebietsschemas. Daher kann eine Anwendung niemals CompareString- verwenden, um UTF-8-Text zu verarbeiten.
Normalerweise ordnet CompareString für Vergleiche zwischen Groß- und Kleinschreibung das Kleinbuchstabe "i" dem Großbuchstaben "I" zu, auch wenn das Gebietsschema türkisch oder aserbaidschanisch ist. Die NORM_LINGUISTIC_CASING Kennzeichnung setzt dieses Verhalten für Türkisch oder Aserbaidschan außer Kraft. Wenn diese Kennzeichnung in Verbindung mit Türkisch oder Aserbaidschan angegeben wird, ist LATIN SMALL LETTER DOTLESS I (U+0131) die Kleinbuchstabenform VON LATIN CAPITAL LETTER I (U+0049) und LATIN SMALL LETTER I (U+0069) die Kleinbuchstabenform DES LATEINISCHEN BUCHSTABENS I MIT PUNKT ÜBER (U+0130).
Ab Windows 8: Die ANSI-Version der Funktion wird in Winnls.h deklariert, und die Unicode-Version wird in Stringapiset.h deklariert. Vor Windows 8 wurden beide Versionen in Winnls.h deklariert.
Anmerkung
Der winnls.h-Header definiert CompareString als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winnls.h (enthalten Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |
Siehe auch
Behandlung der Sortierung in Ihren Anwendungen
Sicherheitsüberlegungen: Internationale Features
Verwenden der Unicode-Normalisierung zur Darstellung von Zeichenfolgen