table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::wmemcmp(3) | C++ Standard Libary | std::wmemcmp(3) | 
NAME¶
std::wmemcmp - std::wmemcmp
Synopsis¶
 Defined in header <cwchar>
  
   int wmemcmp( const wchar_t* lhs, const wchar_t* rhs, std::size_t count );
  
   Compares the first count wide characters of the wide character arrays pointed
    to by
  
   lhs and rhs. The comparison is done lexicographically.
  
   The sign of the result is the sign of the difference between the values of
    the first
  
   pair of wide characters that differ in the arrays being compared.
  
   If count is zero, the function does nothing.
Parameters¶
 lhs, rhs - pointers to the wide character arrays to compare
  
   count - number of wide characters to examine
Return value¶
 Negative value if the value of the first differing wide character
    in lhs is less
  
   than the value of the corresponding wide character in rhs: lhs precedes rhs
    in
  
   lexicographical order.
  
   0 if all count wide characters of lhs and rhs are equal.
  
   Positive value if the value of the first differing wide character in lhs is
    greater
  
   than the value of the corresponding wide character in rhs: rhs precedes lhs
    in
  
   lexicographical order.
Notes¶
 This function is not locale-sensitive and pays no attention to
    the values of the
  
   wchar_t objects it examines: nulls as well as invalid wide characters are
    compared
  
   too.
Example¶
// Run this code
  
   #include <clocale>
  
   #include <cwchar>
  
   #include <iostream>
  
   #include <locale>
  
   #include <string>
  
   void demo(const wchar_t* lhs, const wchar_t* rhs, std::size_t sz)
  
   {
  
   std::wcout << std::wstring(lhs, sz);
  
   int rc = std::wmemcmp(lhs, rhs, sz);
  
   if (rc == 0)
  
   std::wcout << " compares equal to ";
  
   else if (rc < 0)
  
   std::wcout << " precedes ";
  
   else if (rc > 0)
  
   std::wcout << " follows ";
  
   std::wcout << std::wstring(rhs, sz) << " in lexicographical
    order\n";
  
   }
  
   int main()
  
   {
  
   std::setlocale(LC_ALL, "en_US.utf8");
  
   std::wcout.imbue(std::locale("en_US.utf8"));
  
   wchar_t a1[] = {L'α',L'β',L'γ'};
  
   constexpr std::size_t sz = sizeof a1 / sizeof *a1;
  
   wchar_t a2[sz] = {L'α',L'β',L'δ'};
  
   demo(a1, a2, sz);
  
   demo(a2, a1, sz);
  
   demo(a1, a1, sz);
  
   }
Possible output:¶
 αβγ precedes αβδ in
    lexicographical order
  
   αβδ follows αβγ in lexicographical
    order
  
   αβγ compares equal to αβγ in
    lexicographical order
See also¶
 wcscmp compares two wide strings
  
   (function)
  
   memcmp compares two buffers
  
   (function)
  
   wcsncmp compares a certain amount of characters from two wide strings
  
   (function)
  
   C documentation for
  
   wmemcmp
| 2024.06.10 | http://cppreference.com |