Die Funktion wmemcmp () in C ++ vergleicht eine bestimmte Anzahl von breiten Zeichen aus zwei breiten Zeichenfolgen.
Die Funktion wmemcmp () ist in der Header-Datei definiert.
wmemcmp () Prototyp
int wmemcmp (const wchar_t * lhs, const wchar_t * rhs, size_t count);
Die Funktion wmemcmp () akzeptiert drei Argumente: lhs, rhs und count. Diese Funktion vergleicht die ersten zählweiten Zeichen von lhs und rhs lexikographisch.
wmemcmp () Parameter
- lhs und rhs: Zeiger auf das zu vergleichende breite Zeichenfeld.
- count: Maximale Anzahl der zu vergleichenden breiten Zeichen.
wmemcmp () Rückgabewert
Die Funktion wmemcmp () gibt Folgendes zurück:
- positiver Wert, wenn das erste unterschiedlich breite Zeichen in lhs größer ist als das entsprechende Byte in rhs.
- negativer Wert, wenn das erste unterschiedlich breite Zeichen in lhs kleiner als das entsprechende Byte in rhs ist.
- 0, wenn die ersten zählweiten Zeichen von lhs und rhs gleich sind
Beispiel: Wie funktioniert die Funktion wmemcmp ()?
#include #include #include using namespace std; void compare(wchar_t *lhs, wchar_t *rhs, int count) ( int result = wmemcmp(lhs, rhs, count); if(result> 0) wcout << rhs << L" precedes " << lhs << endl; else if (result < 0) wcout << lhs << L" precedes " << rhs << endl; else wcout << L"First " << count << L" characters of " << lhs << L" and " << rhs << L" are same" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t lhs() = L"u0386u03a6u03aau03acu03c8u03c9u03ee"; wchar_t rhs() = L"u0386u03a6u03aau03acu03c0u03c7u03fb"; compare(lhs, rhs, 4); compare(lhs, rhs, 7); return 0; )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Die ersten 4 Zeichen von ΆΦΪάψωϮ und ΆΦΪάπχϻ sind gleich ΆΦΪάπχϻ vor ΆΦΪάψωϮ