>> Regarding C++ character classification functions like iscntrl, isprint I >> can >> include <locale> and use the std::locale class. As I have mingw-w64: >> "x86_64-8.1.0-release-win32-seh-rt_v6-rev0" and my OS is Windows 7, >> 64bit. >> Where can I find all the possible valid code page names for the >> std::locale >> constructor? >> >> Also I'm curious what happens under-the-hood of an isprint function call. >> Will the NLS file, like: "C_1252.NLS" in the Windows\System32 folder >> ultimately do the character classification check? Are there WinAPI >> functions >> that also can do the character classification checks? >> >>
> I suspect you are using GCC with libstdc++? The libstdc++ implementation > of `std::locale` supports only the C locale on Windows [1] so the only > valid locale names are "C" and "" (the empty string). > > > [1] > https://github.com/gcc-mirror/gcc/blob/e4c103e5395118b104c0482ca30be80b45ef37be/libstdc%2B%2B-v3/config/locale/generic/c_locale.cc#L220 > > > >-- > Best regards, > LH_Mouse Hi LH_Mouse, (edit: Sorry I sent it to you personally, here to the mailing list) Yes, GCC with libstdc++. I realize the C++ way of doing this is too limited. After looking around the WinAPI docs the function GetStringTypeW might be of use for me, with the first argument set to CT_CTYPE1. That will consult the NLS files in Windows\System32 folder I believe. Regards, Maarten _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
