_create_locale
, _wcreate_locale
Crea un oggetto di impostazioni locali.
Sintassi
_locale_t _create_locale(
int category,
const char *locale
);
_locale_t _wcreate_locale(
int category,
const wchar_t *locale
);
Parametri
category
Categoria.
locale
Identificatore delle impostazioni locali.
Valore restituito
Se viene specificato un valore valido locale
e category
, le funzioni restituiscono le impostazioni locali specificate come _locale_t
oggetto . Le impostazioni locali correnti del programma non vengono modificate.
Osservazioni:
La funzione _create_locale
consente di creare un oggetto, che rappresenta determinate impostazioni di aree geografiche, da usare in versioni specifiche di impostazioni locali di molte funzioni CRT (le funzioni con il suffisso _l
). Il comportamento è simile a setlocale
, ad eccezione del fatto che anziché applicare le impostazioni locali specificate per l'ambiente corrente, le impostazioni vengono salvate in una struttura _locale_t
restituita. La _locale_t
struttura deve essere liberata usando _free_locale
quando non è più necessaria.
_wcreate_locale
è una versione a caratteri wide di _create_locale
; l'argomento locale
in _wcreate_locale
è una stringa di caratteri wide. In caso contrario,_wcreate_locale
e _create_locale
si comportano in modo identico.
L'argomento category
indica le parti del comportamento specifico per le impostazioni locali interessate. I flag usati per category
e le parti del programma che influiscono sono indicati in questa tabella:
Flag dicategory |
Impatto |
---|---|
LC_ALL |
Tutte le categorie, come indicato di seguito. |
LC_COLLATE |
Le funzioni strcoll , _stricoll , wcscoll , _wcsicoll , strxfrm , _strncoll , _strnicoll , _wcsncoll , _wcsnicoll e wcsxfrm . |
LC_CTYPE |
Le funzioni di gestione dei caratteri, ad eccezione di isdigit , isxdigit , mbstowcs e mbtowc che non sono interessate. |
LC_MONETARY |
Informazioni di formattazione monetaria restituite dalla funzione localeconv . |
LC_NUMERIC |
Carattere del separatore decimale per le routine di output formattate, ad esempio printf , per le routine di conversione dei dati e per le informazioni di formattazione non monetarie restituite da localeconv . Oltre al carattere decimale, LC_NUMERIC imposta il separatore delle migliaia e la stringa di controllo di raggruppamento restituita da localeconv . |
LC_TIME |
Funzioni strftime e wcsftime . |
Questa funzione convalida i parametri category
e locale
. Se il parametro category non è uno dei valori specificati nella tabella precedente o se locale
è NULL
, la funzione restituisce NULL
.
L'argomento locale
è un puntatore a una stringa che specifica le impostazioni locali. Per informazioni sul formato dell'argomento locale
, vedere Nomi delle impostazioni locali, Lingue e Stringhe paese/area geografica.
L'argomento locale
può accettare diversi tipi di valori: un nome delle impostazioni locali, una stringa di lingua, una stringa di lingua e un codice paese/area geografica, una tabella codici o una combinazione di stringa di lingua, codice paese/area geografica e tabella codici. Il set (dei nomi delle impostazioni locali, delle lingue, dei codici paese/area geografica e delle tabelle codici disponibili) include tutti gli elementi supportati dall'API NLS di Windows. Il set di nomi _create_locale
delle impostazioni locali supporta è descritto in Nomi delle impostazioni locali, Lingue e Stringhe paese/area geografica. Il set di stringhe di lingua e paese/area geografica supportate da _create_locale
è elencato in Stringhe di lingua e stringhe paese/area geografica.
Per altre informazioni sulle impostazioni locali, vedere setlocale
, _wsetlocale
.
Il nome precedente di questa funzione, __create_locale
(con due caratteri di sottolineatura iniziali), è stato deprecato.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_create_locale |
<locale.h> |
_wcreate_locale |
<locale.h> o <wchar.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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'
Vedi anche
Nomi delle impostazioni locali, lingue e stringhe paese/area geografica
Stringhe di linguaggio
Stringhe paese/area geografica
_free_locale
_configthreadlocale
setlocale
impostazioni locali
localeconv
_mbclen
, mblen
, _mblen_l
strlen
, wcslen
, _mbslen
, _mbslen_l
, _mbstrlen
_mbstrlen_l
mbstowcs
, _mbstowcs_l
mbtowc
, _mbtowc_l
_setmbcp
setlocale
, _wsetlocale
Funzioni strcoll
strftime
, wcsftime
, _strftime_l
_wcsftime_l
strxfrm
, wcsxfrm
, _strxfrm_l
_wcsxfrm_l
wcstombs
, _wcstombs_l
wctomb
, _wctomb_l