La fonction wmemcmp () est définie dans
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;
}