2009-11-18 6 views
1

J'ai obtenu un programme écrit en C++ non géré, j'ai besoin d'obtenir les informations culturelles du système et de définir cette information pour le thread d'exécution en cours dans mon application C++.Comment définir les informations de culture dans un C++ non géré?

Merci.

+0

Quel système d'exploitation? (Windows, je présume?) – meklarian

+0

vous devez également indiquer qu'il s'agit d'une question spécifique à Windows;) J'ai dû google afin de savoir ce que l'information de culture est et je ne suis pas sûr que tous les développeurs C++ le savent. –

+0

Je suis désolé, vous avez raison, c'est une application Windows. – Vic

Répondre

5

Dans les environnements C++ non gérés de Windows, vous avez besoin des paramètres régionaux. La culture est un terme défini dans .NET, en remplacement de ce terme.

Il existe une multitude de fonctions, mais celle que vous devez démarrer s'appelle SetThreadLocale.

SetThreadLocale Function (Windows) @ MSDN

Dans la documentation à MSDN, il semble qu'il ya des bizarreries dans Vista. Vous pouvez également consulter la fonction suivante.

SetThreadUILanguage Function (Windows) @ MSDN

Les autres fonctions d'intérêt sont disponibles ici.

National Language Support Functions (Windows) @ MSDN
Multilingual User Interface Functions (Windows) @ MSDN

modifier:

Si vous développez une application avec le soutien de base vraiment, setlocale() peut également être intéressant.

setlocale (C/C++) @ MSDN

+0

merci, ça m'a beaucoup aidé! – Vic