Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
_create_locale, _wcreate_locale
and
div
eof
not
or
xor
Collapse the table of content
Expand the table of content
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_create_locale, _wcreate_locale

Crée un objet local.

_locale_t _create_locale(
   int category,
   const char *locale 
);
_locale_t _wcreate_locale(
   int category,
   const wchar_t *locale 
);

category

Catégorie.

locale

Spécificateur de paramètres régionaux.

Si un locale valide et category sont spécifiés, renvoie les paramètres régionaux spécifiés comme un objet _locale_t . Les paramètres régionaux actuels du programme ne sont pas modifiés.

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

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

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

LC_ALL

Toutes les catégories, comme répertoriées 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. Outre le caractère de virgule décimale, LC_NUMERIC définit le séparateur de milliers et la chaîne de contrôle de regroupement retournés par localeconv.

LC_TIME

Les fonctions strftime et wcsftime.

Cette fonction valide les paramètres category et locale. Si le paramètre Catégorie ne fait pas partie des valeurs données dans la table précédente ou si locale est NULL, la fonction renvoie 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 Chaînes relatives aux noms, aux langues, au pays et à la région.

L'argument locale peut accepter un nom de paramètres régionaux, une chaîne de langue, une chaîne de langue et un pays/région, une page de code, ou une chaîne de langue, un pays/région, et une page de codes. L'ensemble des noms de paramètres régionaux, des langages, des codes pays ou codes zone, et des pages de codes disponibles incluent tous ceux pris en charge par l'API Windows NLS, à l'exception des pages de codes qui requièrent plus de deux octets par caractère—par exemple, UTF-7 et UTF-8. Si vous fournissez une page de codes comme UTF-7 ou UTF-8, _create_locale va échouer et renvoyer Null. L'ensemble des noms de 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 des chaînes de langage et de pays/région prises en charge par _create_locale sont répertoriées dans Chaînes de langue et Chaînes pays/région.

Pour plus d'informations sur ces paramètres régionaux, consultez setlocale, _wsetlocale.

Ancien nom de cette fonction, __create_locale (avec deux principaux traits de soulignement), a été déconseillé.

Routine

En-tête requis

_create_locale

<locale.h>

_wcreate_locale

<locale.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

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

In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'
Afficher:
© 2015 Microsoft