C++ Tutorial/Data Types/wide character

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Compare wide character string ignoring the case

<source lang="cpp">#include <string>

  1. include <iostream>
  2. include <algorithm>
  3. include <cctype>
  4. include <cwctype>

using namespace std;

inline bool caseInsCharCompareW(wchar_t a, wchar_t b) {

  return(towupper(a) == towupper(b));

} bool caseInsCompare(const wstring& s1, const wstring& s2) {

  return((s1.size( ) == s2.size( )) &&
         equal(s1.begin( ), s1.end( ), s2.begin( ), caseInsCharCompareW));

}

int main( ) {

  wstring ws1 = L"The END";
  wstring ws2 = L"the end";
  if (caseInsCompare(ws1, ws2))
     cout << "Equal!\n";

}</source>

Equal!

wctype

<source lang="cpp">#include <iostream>

  1. include <cwctype>

using namespace std; int main() {

 wctype_t x;
 x = wctype("space");
 if(iswctype(L" ", x))
   cout << "Is a space.\n";
 return 0;

}</source>