#include #include #include #include #include #include #include int main() { try { std::locale loc; std::ctype const &ct = std::use_facet >(loc); std::ctype const &wct = std::use_facet >(loc); // Narrow std::cout << "NARROW\n"; for (int i = 0; i < UCHAR_MAX; i++) { if (ct.is(std::ctype_base::xdigit, (char)i)) std::cout << "\t" << (char)i << std::endl; } // wide std::cout << "WIDE\n"; for (int i = 0; i < UCHAR_MAX; i++) { if (wct.is(std::ctype_base::xdigit, (wchar_t)i)) std::cout << "\t" << (char)i << std::endl; } } catch(std::exception const &e) { std::cout << "EXCEPTION: " << e.what() << std::endl; return -1; } }