lstrcmpiA-Funktion (winbase.h)
Vergleicht zwei Zeichenzeichenfolgen. Bei dem Vergleich wird die Groß-/Kleinschreibung nicht beachtet.
Verwenden Sie die lstrcmp--Funktion, um einen Vergleich durchzuführen, bei dem die Groß-/Kleinschreibung beachtet wird.
Syntax
int lstrcmpiA(
[in] LPCSTR lpString1,
[in] LPCSTR lpString2
);
Parameter
[in] lpString1
Typ: LPCTSTR-
Die erste mit Null beendete Zeichenfolge, die verglichen werden soll.
[in] lpString2
Typ: LPCTSTR-
Die zweite mit Null beendete Zeichenfolge, die verglichen werden soll.
Rückgabewert
Typ: int
Wenn die Zeichenfolge, auf die durch lpString1 verweist, kleiner als die Zeichenfolge ist, auf die durch lpString2verwiesen wird, ist der Rückgabewert negativ. Wenn die Zeichenfolge, auf die durch lpString1 verweist, größer als die Zeichenfolge ist, auf die durch lpString2verwiesen wird, ist der Rückgabewert positiv. Wenn die Zeichenfolgen gleich sind, ist der Rückgabewert null.
Bemerkungen
Die lstrcmpi-Funktion vergleicht zwei Zeichenfolgen, indem die ersten Zeichen gegeneinander überprüft werden, die zweiten Zeichen gegeneinander usw., bis sie eine Ungleichheit findet oder die Enden der Zeichenfolgen erreicht.
Beachten Sie, dass die parameter lpString1 und lpString2 null-terminated sein müssen, andernfalls kann der Zeichenfolgenvergleich falsch sein.
Die Funktion ruft CompareStringExauf, wobei das aktuelle Threadgebietsschema verwendet wird, und subtrahiert 2 vom Ergebnis, um die C-Laufzeitkonventionen für den Vergleich von Zeichenfolgen beizubehalten.
Bei einigen Gebietsschemas ist die lstrcmpi--Funktion möglicherweise unzureichend. Verwenden Sie in diesem Fall CompareStringEx-, um einen ordnungsgemäßen Vergleich sicherzustellen. Rufen Sie in Japan beispielsweise die Werte NORM_IGNORECASE, NORM_IGNOREKANATYPEund NORM_IGNOREWIDTH auf, um den am besten geeigneten Vergleich mit nicht exakten Zeichenfolgen zu erzielen. Die werte NORM_IGNOREKANATYPE und NORM_IGNOREWIDTH werden in nichtasiatischen Gebietsschemas ignoriert, sodass Sie diese Werte für alle Gebietsschemas festlegen und garantiert unabhängig vom Gebietsschema eine kulturell korrekte Sortierung "unempfindlich" haben. Beachten Sie, dass die Angabe dieser Werte die Leistung verlangsamt. Verwenden Sie sie daher nur bei Bedarf.
Mit einer DBCS-Version (Double-Byte Character Set) des Systems kann diese Funktion zwei DBCS-Zeichenfolgen vergleichen.
Die lstrcmpi-Funktion verwendet eine Wortsortierung anstelle einer Zeichenfolgensortierung. Eine Wortsortierung behandelt Bindestriche und Apostrophe anders als andere Symbole, die nicht alphanumerisch sind, um sicherzustellen, dass Wörter wie "koop" und "co-op" in einer sortierten Liste zusammen bleiben. Eine ausführliche Erläuterung der Wortsortierung und Zeichenfolgensortierung finden Sie unter Behandeln der Sortierung in Ihren Anwendungen.
Sicherheitsmerkungen
Siehe Sicherheitsüberlegungen: Internationale Features zu Sicherheitsaspekten hinsichtlich der Auswahl von Vergleichsfunktionen.Anmerkung
Der winbase.h-Header definiert lstrcmpi als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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- | winbase.h (enthalten Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |
Siehe auch
Konzeptionelle
andere Ressourcen
Referenz-