De functie wmemcmp () in C ++ vergelijkt een gespecificeerd aantal brede karakters van twee brede strings.
De functie wmemcmp () is gedefinieerd in het headerbestand.
wmemcmp () prototype
int wmemcmp (const wchar_t * lhs, const wchar_t * rhs, size_t count);
De functie wmemcmp () heeft drie argumenten: lhs, rhs en count. Deze functie vergelijkt de eerste telbrede karakters van lhs en rhs lexicografisch.
wmemcmp () Parameters
- lhs en rhs: Pointer naar de brede tekenreeks om te vergelijken.
- count: maximale aantal brede tekens om te vergelijken.
wmemcmp () Retourwaarde
De functie wmemcmp () retourneert een:
- positieve waarde als het eerste verschillende brede teken in lhs groter is dan de overeenkomstige byte in rhs.
- negatieve waarde als het eerste verschillende brede teken in lhs kleiner is dan de overeenkomstige byte in rhs.
- 0 als de eerste telbrede karakters van lhs en rhs gelijk zijn
Voorbeeld: hoe werkt de functie 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; )
Wanneer u het programma uitvoert, is de uitvoer:
De eerste 4 karakters van ΆΦΪάψωϮ en ΆΦΪάπχϻ zijn hetzelfde ΆΦΪάπχϻ gaat vooraf aan ΆΦΪάψωϮ