_create_locale
, _wcreate_locale
Crée un objet de paramètres régionaux.
Syntaxe
_locale_t _create_locale(
int category,
const char *locale
);
_locale_t _wcreate_locale(
int category,
const wchar_t *locale
);
Paramètres
category
Catégorie.
locale
Spécificateur de paramètres régionaux.
Valeur retournée
Si une valeur est valide locale
et category
donnée, les fonctions retournent les paramètres régionaux spécifiés en tant qu’objet _locale_t
. Les paramètres régionaux actuels du programme ne sont pas modifiés.
Notes
La fonction _create_locale
vous permet de créer un objet qui représente certains paramètres régionaux, pour une utilisation dans des versions régionales de nombreuses fonctions CRT (fonctions avec le suffixe _l
). Le comportement est semblable à setlocale
, à ceci près qu’au lieu d’appliquer les paramètres régionaux spécifiés à l’environnement actuel, les paramètres sont enregistrés dans une structure _locale_t
qui est retournée. La _locale_t
structure doit être libérée à l’aide _free_locale
du moment où elle n’est plus nécessaire.
_wcreate_locale
est une version à caractères larges de _create_locale
; l'argument locale
de _wcreate_locale
est une chaîne à caractères larges. Sinon,_wcreate_locale
et _create_locale
se comportent de la même façon.
L’argument category
spécifie les parties du comportement relatif aux paramètres régionaux qui sont affectées. Les indicateurs utilisés pour category
et les parties du programme qu’ils affectent sont indiqués dans ce tableau :
Indicateurcategory |
Éléments affectés |
---|---|
LC_ALL |
Toutes les catégories, comme indiqué ci-dessous. |
LC_COLLATE |
Les fonctions strcoll , _stricoll , wcscoll , _wcsicoll , strxfrm , _strncoll , _strnicoll , _wcsncoll , _wcsnicoll et wcsxfrm . |
LC_CTYPE |
Les fonctions de gestion de caractères (sauf isdigit , isxdigit , mbstowcs , et mbtowc , qui ne sont pas affectés). |
LC_MONETARY |
Les informations de mise en forme monétaire retournées par la fonction localeconv . |
LC_NUMERIC |
Le caractère de virgule décimale pour les routines de sortie mise en forme (comme printf ), pour les routines de conversion de données, et pour les informations de mise en forme non monétaire retournées par localeconv . En plus du caractère décimal, LC_NUMERIC définit le séparateur de milliers et la chaîne de contrôle de regroupement retournée par localeconv . |
LC_TIME |
Les fonctions strftime et wcsftime . |
Cette fonction valide les paramètres category
et locale
. Si le paramètre de catégorie n’est pas l’une des valeurs fournies dans le tableau précédent ou si locale
c’est NULL
le cas, la fonction retourne NULL
.
L'argument locale
est un pointeur vers une chaîne qui spécifie les paramètres régionaux. Pour plus d’informations sur le format de l’argument locale
, consultez les noms de paramètres régionaux, les langues et les chaînes Pays/Région.
L’argument locale
peut prendre plusieurs types de valeurs : un nom de paramètres régionaux, une chaîne de langue, une chaîne de langue et un code pays/région, une page de codes ou une combinaison de chaînes de langue, de code pays/région et de page de codes. L’ensemble (des noms régionaux disponibles, langues, codes pays/région et pages de codes) inclut tous ceux pris en charge par l’API NLS Windows. L’ensemble de noms _create_locale
de paramètres régionaux prend en charge les noms de paramètres régionaux, les langues et les chaînes pays/région. L’ensemble de chaînes de langue et de pays/région pris en charge par _create_locale
sont répertoriés dans les chaînes de langue et les chaînes Country/Region.
Pour plus d’informations sur les paramètres régionaux, consultez setlocale
, _wsetlocale
.
Le nom précédent de cette fonction, __create_locale
(avec deux traits de soulignement de début), a été déconseillé.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis |
---|---|
_create_locale |
<locale.h> |
_wcreate_locale |
<locale.h> ou <wchar.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_create_locale.c
// Sets the current locale to "de-CH" using the
// setlocale function and demonstrates its effect on the strftime
// function.
#include <stdio.h>
#include <locale.h>
#include <time.h>
int main(void)
{
time_t ltime;
struct tm thetime;
unsigned char str[100];
_locale_t locale;
// Create a locale object representing the German (Switzerland) locale
locale = _create_locale(LC_ALL, "de-CH");
time (<ime);
_gmtime64_s(&thetime, <ime);
// %#x is the long date representation, appropriate to
// the current locale
if (!_strftime_l((char *)str, 100, "%#x",
(const struct tm *)&thetime, locale))
{
printf("_strftime_l failed!\n");
}
else
{
printf("In de-CH locale, _strftime_l returns '%s'\n", str);
}
_free_locale(locale);
// Create a locale object representing the default C locale
locale = _create_locale(LC_ALL, "C");
time(<ime);
_gmtime64_s(&thetime, <ime);
if (!_strftime_l((char *)str, 100, "%#x",
(const struct tm *)&thetime, locale))
{
printf("_strftime_l failed!\n");
}
else
{
printf("In 'C' locale, _strftime_l returns '%s'\n", str);
}
_free_locale(locale);
}
In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'
Voir aussi
Noms de paramètres régionaux, langues et chaînes pays/région
Chaînes de langue
Chaînes pays/région
_free_locale
_configthreadlocale
setlocale
Paramètres régionaux
localeconv
_mbclen
, , mblen
_mblen_l
strlen
, , wcslen
, _mbslen_l
_mbslen
, , _mbstrlen
_mbstrlen_l
mbstowcs
, _mbstowcs_l
mbtowc
, _mbtowc_l
_setmbcp
setlocale
, _wsetlocale
strcoll
, fonctions
strftime
, , wcsftime
_strftime_l
, ,_wcsftime_l
strxfrm
, , wcsxfrm
_strxfrm_l
, ,_wcsxfrm_l
wcstombs
, _wcstombs_l
wctomb
, _wctomb_l