C ++ wmemcmp () - standardní knihovna C ++

Funkce wmemcmp () v C ++ porovnává zadaný počet širokých znaků dvou širokých řetězců.

Funkce wmemcmp () je definována v hlavičkovém souboru.

prototyp wmemcmp ()

 int wmemcmp (const wchar_t * lhs, const wchar_t * rhs, velikost_t počet);

Funkce wmemcmp () má tři argumenty: lhs, rhs a count. Tato funkce porovnává lexikograficky první počet širokých znaků lhs a rhs.

Parametry wmemcmp ()

  • lhs a rhs: Ukazatel na široké pole znaků k porovnání.
  • count: Maximální počet širokých znaků k porovnání.

wmemcmp () Návratová hodnota

Funkce wmemcmp () vrací a:

  • kladná hodnota, pokud je první odlišný široký znak v lhs větší než odpovídající bajt v rhs.
  • záporná hodnota, pokud je první odlišný široký znak v lhs menší než odpovídající bajt v rhs.
  • 0, pokud je první počet širokých znaků lhs a rhs stejný

Příklad: Jak funguje funkce 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; )

Když spustíte program, výstup bude:

 První 4 znaky ΆΦΪάψωϮ a ΆΦΪάπχϻ jsou stejné ΆΦΪάπχϻ předchází ΆΦΪάψωϮ

Zajímavé články...