Partager via


_create_locale, _wcreate_locale

Crée un objet de paramètres régionaux.

_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 de retour

Si locale valide et category sont donnés, retourne les paramètres régionaux spécifiés comme objet d' _locale_t .Les paramètres régionaux du programme ne sont pas modifiés.

Notes

La fonction d' _create_locale vous permet de créer un objet qui représente certaines configurations régionales, pour une utilisation dans des versions spécifiques aux paramètres régionaux de nombreuses fonctions CRT (fonctions avec le suffixe d' _l ).Le comportement est identique à setlocale, mais au lieu d'appliquer les paramètres régionaux spécifiés à l'environnement actuel, les paramètres sont stockés dans une structure d' _locale_t retournée.La structure d' _locale_t doit être libérée avec _free_locale lorsqu'il n'est plus nécessaire.

_wcreate_locale est une version à caractère élargi d' _create_locale; l'argument d' locale à _wcreate_locale est une chaîne à caractères larges._wcreate_locale et _create_locale se comportent de sinon.

L'argument d' category spécifie les parties du comportement spécifique aux paramètres régionaux affectées.Les balises utilisées pour category et les parties du programme qu'elles affectent les sont comme indiqué dans le tableau suivant.

  • LC_ALL
    Toutes les catégories, comme répertoriées ci-dessous.

  • LC_COLLATE
    strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicoll, et fonctions d' wcsxfrm .

  • LC_CTYPE
    Les fonctions de gestion caractère- (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 d' localeconv .

  • LC_NUMERIC
    Caractère de virgule décimale pour les routines de sortie mise en forme (par exemple printf), pour les routines de conversion de données, et pour des informations de mise en forme nonmonétaire retournée par localeconv.Outre le caractère de virgule décimale, LC_NUMERIC définit le séparateur des milliers et la chaîne de contrôle de regroupement retournés par localeconv.

  • LC_TIME
    Les fonctions d' strftime et d' wcsftime .

Cette fonction valide les paramètres d' category et d' 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 est NULL, la fonction retourne NULL.

L'argument d' 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 d' locale, consultez Chaînes relatives aux noms, aux langues, au pays et à la région.

L'argument d' locale peut prendre un nom des paramètres régionaux, une chaîne SQL, une chaîne de langue et un pays/région code, une page de codes, ou une chaîne SQL, un pays/région code, et une page de codes.L'ensemble des noms des paramètres régionaux disponibles, de langages, de pays ou de région codes, et de pages de codes inclut tous ceux pris en charge par l'API windows NLS exception de les pages de codes qui requièrent plus de deux octets pour chaque caractère, tel que UTF-7 et UTF-8.Si vous fournissez une page de codes comme UTF-7 ou UTF-8, _create_locale échoue, qui retourne NULL.L'ensemble des noms des paramètres régionaux pris en charge par _create_locale sont décrits dans Chaînes relatives aux noms, aux langues, au pays et à la région.L'ensemble de chaînes de langue et de pays/région prises en charge par _create_locale sont répertoriés dans Chaînes de langage et Chaînes de pays/région.

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 principaux traits de soulignement), a été déconseillé.

Configuration requise

Routine

En-tête requis

_create_locale

<locale.h>

_wcreate_locale

<locale.h> ou <wchar.h>

Pour des informations de compatibilité supplémentaires, consultez l' Compatibilité.

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 (&ltime);
       _gmtime64_s(&thetime, &ltime);

       // %#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 (&ltime);
       _gmtime64_s(&thetime, &ltime);

       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);
}

Résultat de l'exemple

In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'

Équivalent .NET Framework

Classe de System::Globalization::CultureInfo

Voir aussi

Référence

Chaînes relatives aux noms, aux langues, au pays et à la région

Chaînes de langage

Chaînes de pays/région

_free_locale

_configthreadlocale

setlocale

Paramètres régionaux

localeconv

_mbclen, mblen, _mblen_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

_setmbcp

setlocale, _wsetlocale

fonctions de strcoll

strftime, wcsftime, _strftime_l, _wcsftime_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

wcstombs, _wcstombs_l

wctomb, _wctomb_l