C ++ setlocale () - Bibliothèque standard C ++

La fonction setlocale () en C ++ définit les informations locales pour le programme en cours.

La fonction setlocale () est définie dans le fichier d'en-tête.

prototype setlocale ()

 int setlocale (int category, const char * locale);

La fonction setlocale est utilisée pour définir un paramètre régional système spécifié pour la catégorie donnée. La fonction setlocale peut également être utilisée pour interroger la locale C actuelle.

Cela peut être fait en passant un pointeur nul à la place de la locale.

Paramètres de setlocale ()

  • category: spécifie les informations locales du programme qui sont affectées. Les macros possibles pour la catégorie sont:
Macro de catégorie pour setlocale ()
Macros La description
LC_ALL Sélectionne tous les paramètres régionaux C
LC_COLLATE Sélection de la catégorie de classement
LC_CTYPE Sélectionne la catégorie de classification des caractères
LC_MONETARY Sélectionne la catégorie de formatage monétaire
LC_NUMERIC Sélectionne la catégorie de formatage numérique
LC_TIME Sélectionne la catégorie de formatage de l'heure
  • locale: identificateur de paramètres régionaux spécifique au système. S'il s'agit d'un pointeur nul, un appel à setlocale () interroge les paramètres régionaux C actuels.

setlocale () Valeur de retour

  • En cas de succès, la fonction setlocale () renvoie un pointeur vers la chaîne identifiant les paramètres régionaux C après avoir appliqué les modifications.
  • En cas d'échec, il renvoie un pointeur nul.

Exemple: comment fonctionne la fonction setlocale ()?

 #include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )

Lorsque vous exécutez le programme, la sortie sera:

 Paramètres régionaux actuels: en_US.utf8 Changement de paramètres régionaux Paramètres régionaux actuels: en_GB.utf8

Articles intéressants...