lstrcmpiA-Funktion (winbase.h)

Vergleicht zwei Zeichenfolgen. Beim Vergleich wird die Groß-/Kleinschreibung nicht berücksichtigt.

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 null-endende Zeichenfolge, die verglichen werden soll.

[in] lpString2

Typ: LPCTSTR

Die zweite null-endende Zeichenfolge, die verglichen werden soll.

Rückgabewert

Typ: int

Wenn die Zeichenfolge, auf die von lpString1 verwiesen wird, kleiner ist als die Zeichenfolge, auf die lpString2 verweist, ist der Rückgabewert negativ. Wenn die Zeichenfolge, auf die von lpString1 verwiesen wird, größer ist als die Zeichenfolge, auf die lpString2 verweist, ist der Rückgabewert positiv. Wenn die Zeichenfolgen gleich sind, ist der Rückgabewert null.

Hinweise

Die lstrcmpi-Funktion vergleicht zwei Zeichenfolgen, indem sie die ersten Zeichen miteinander überprüft, 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 CompareStringEx unter Verwendung des aktuellen Threadgebietsschemas auf und subtrahiert 2 vom Ergebnis, um die C-Laufzeitkonventionen für den Vergleich von Zeichenfolgen beizubehalten.

Für einige Gebietsschemas ist die lstrcmpi-Funktion möglicherweise nicht ausreichend. Wenn dies der Fall ist, verwenden Sie CompareStringEx , um einen ordnungsgemäßen Vergleich sicherzustellen. Rufen Sie beispielsweise in Japan mit dem NORM_IGNORECASE, NORM_IGNOREKANATYPE und NORM_IGNOREWIDTH werte auf, um den am besten geeigneten, nicht exakten Zeichenfolgenvergleich zu erzielen. Die werte NORM_IGNOREKANATYPE und NORM_IGNOREWIDTH werden in nicht asiatischen Gebietsschemas ignoriert, sodass Sie diese Werte für alle Gebietsschemas festlegen können und unabhängig vom Gebietsschema garantiert eine kulturell korrekte "unsensitive" Sortierung haben. Beachten Sie, dass die Angabe dieser Werte die Leistung beeinträchtigt. 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 anstelle einer Zeichenfolgensortierung eine Wortsortierung. Eine Wortsortierung behandelt Bindestriche und Apostrophe anders als andere Symbole, die nicht alphanumerisch sind, um sicherzustellen, dass Wörter wie "coop" und "co-op" innerhalb einer sortierten Liste zusammenbleiben. Eine ausführliche Erläuterung der Wort- und Zeichenfolgensortierungen finden Sie unter Behandeln der Sortierung in Ihren Anwendungen.

Sicherheitsbemerkungen

Sicherheitsüberlegungen zur Auswahl von Vergleichsfunktionen finden Sie unter Sicherheitsüberlegungen: Internationale Features .

Hinweis

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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CompareString

CompareStringEx

CompareStringOrdinal

Konzept

Andere Ressourcen

Referenz

Zeichenfolgen

lstrcat

lstrcmp

lstrcpy

lstrlen