This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how to set locale with C++

On 2/9/2012 1:37 PM, Corinna Vinschen wrote:
On Feb 9 12:13, marco atzeri wrote:
Attached a small example taken from Bruce Eckel Thinking in C++

On cygwin both this call



raise exception

"terminate called after throwing an instance of 'std::runtime_error'
   what():  locale::facet::_S_create_c_locale name not valid
Aborted (core dumped)"

I could understand eventually the second one, but "English (US)" is
the current windows locale so I expected that at least "en_US.UTF-8"
is accepted.

What I am missing ?

This doesn't look like a Cygwin issue. The above error "locale::facet::_S_create_c_locale name not valid" points to some problem in the library implementing the locale call. The underlying plain C call setlocale should work fine.


g++ 4.5.3 seems to have a problem on cygwin.

setlocale on pure C is working
(modified from

$ ./setlocale.exe
Locale is: C
Date is: Thu Feb  9 14:52:45 2012
Currency symbol is:
Locale is: fr_FR.UTF-8
Date is: jeu.  9 fÃvr. 2012 14:52:45
Currency symbol is: â

Dave, it could be related to libstdc++ built with a different --enable-clocale option ?

Or that functionality is not available on cygwin ?


Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]