#include <iostream>
#include <string>
#include <algorithm>
#include <cwctype>
#include <locale>
int main()
{
std::wstring wstr1 = L"dll", wstr2 = L"DLL";
auto icompare = [](wchar_t const &c1, wchar_t const &c2)
{
return std::tolower(c1, std::locale()) == std::tolower(c2, std::locale());
};
if (std::equal(wstr1.begin(), wstr1.end(), wstr2.begin(), wstr2.end(), icompare))
std::cout << "equal" << std::endl;
else
std::cout << "notEqual" << std::endl;
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxzdHJpbmc+CiAgICAjaW5jbHVkZSA8YWxnb3JpdGhtPgogICAgI2luY2x1ZGUgPGN3Y3R5cGU+CiAgICAjaW5jbHVkZSA8bG9jYWxlPgogICAgCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAJc3RkOjp3c3RyaW5nIHdzdHIxID0gTCJkbGwiLCB3c3RyMiA9IEwiRExMIjsKICAgIAogICAgCWF1dG8gaWNvbXBhcmUgPSBbXSh3Y2hhcl90IGNvbnN0ICZjMSwgd2NoYXJfdCBjb25zdCAmYzIpCiAgICAJeyAKICAgIAkJcmV0dXJuIHN0ZDo6dG9sb3dlcihjMSwgc3RkOjpsb2NhbGUoKSkgPT0gc3RkOjp0b2xvd2VyKGMyLCBzdGQ6OmxvY2FsZSgpKTsKICAgIAl9OwogICAgCiAgICAJaWYgKHN0ZDo6ZXF1YWwod3N0cjEuYmVnaW4oKSwgd3N0cjEuZW5kKCksIHdzdHIyLmJlZ2luKCksIHdzdHIyLmVuZCgpLCBpY29tcGFyZSkpCiAgICAJCXN0ZDo6Y291dCA8PCAiZXF1YWwiIDw8IHN0ZDo6ZW5kbDsKICAgIAllbHNlCiAgICAJCXN0ZDo6Y291dCA8PCAibm90RXF1YWwiIDw8IHN0ZDo6ZW5kbDsKICAgIAkKICAgIAlyZXR1cm4gMDsKICAgIH0K