Je tente d'instancier un objet std::locale
avec la chaîne de caractères locale américaine ou britannique.
Les deux std::locale loc("en_US")
et std::locale loc("en_GB")
jettent un mauvais nom de locale exception d'exécution. La création d'une locale en utilisant ""
ou "C"
fonctionne correctement; Toutefois, j'ai des problèmes pour définir les paramètres régionaux d'un pays.Pourquoi std :: locale loc ("en_US") renvoie une exception?
La raison pour laquelle je voudrais faire cela est pour des tests unitaires, pour m'assurer qu'une collection de méthodes de tri de chaînes fonctionne correctement.
Je tiens également à souligner que je suis en train de coder dans Windows en utilisant Visual Studio 2008 et que je souhaite conserver mon code multi-plateforme, si possible.
J'ai remarqué que mon VC++ 2012 express accepte maintenant "en-US", mais jette encore sur "en_US" . –