>> 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

Reply via email to