C ++ wmemcmp ()

La fonction wmemcmp () est définie dansEn tête de fichier.

prototype wmemcmp ()

int wmemcmp (const wchar_t * lhs, const wchar_t * rhs, size_t count);

La fonction wmemcmp () prend trois arguments:lhs, rhsetcompter. Cette fonction compare le premier nombre de caractères larges delhsetrhslexicographiquement.


Paramètres wmemcmp ()

  • lhsetrhs: Pointeur vers le large tableau de caractères à comparer.
  • compter: Nombre maximum de caractères larges à comparer.

wmemcmp () Valeur renvoyée

La fonction wmemcmp () renvoie un:

  • valeur positive si le premier caractère large différent de lhs est supérieur à l’octet correspondant de rhs.
  • valeur négative si le premier caractère large différent de lhs est inférieur à l’octet correspondant de rhs.
  • 0 si le premier nombre de caractères larges de lhs et rhs est égal

Exemple: comment fonctionne la fonction wmemcmp ()?

 #include <cwchar>
#include <clocale>
#include <iostream>
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"\u0386\u03a6\u03aa\u03ac\u03c8\u03c9\u03ee";
wchar_t rhs[] = L"\u0386\u03a6\u03aa\u03ac\u03c0\u03c7\u03fb";

compare(lhs, rhs, 4);
compare(lhs, rhs, 7);

return 0;
}