_create_locale, _wcreate_locale
Crea un oggetto impostazioni locali.
_locale_t _create_locale(
int category,
const char *locale
);
_locale_t _wcreate_locale(
int category,
const wchar_t *locale
);
Parametri
category
Categorialocale
Identificatore delle impostazioni locali.
Valore restituito
Se locale valido e category vengono forniti, restituisce che le impostazioni locali specificate come _locale_t oggetto.Le impostazioni locali correnti del programma non vengono modificate.
Note
La funzione di _create_locale consente di creare un oggetto che rappresenta determinate impostazioni specifiche, per l'utilizzo in versioni specifiche delle impostazioni locali di molte funzioni CRT (funzioni con il suffisso di _l ).Il comportamento è simile a setlocale, ma anziché applicare le impostazioni locali specificate all'ambiente corrente, le impostazioni vengono salvate in una struttura di _locale_t restituita.La struttura di _locale_t dovrebbe essere liberata con _free_locale quando non è più necessario.
_wcreate_locale è una versione a caratteri estesi di _create_locale; l'argomento locale in _wcreate_locale è una stringa di caratteri estesi._wcreate_locale e _create_locale si comportano in modo identico in caso contrario.
L'argomento di category specifica le parti del comportamento specifico delle impostazioni locali interessate.I flag utilizzati per category e le parti del programma che interessano sono riportate nella tabella seguente.
LC_ALL
Tutte le categorie, come elencate di seguito.LC_COLLATE
strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicolle funzioni di wcsxfrm.LC_CTYPE
Le funzioni di caratteri gestione (eccetto isdigit, isxdigit, mbstowcse mbtowc, che non vengono influenzati).LC_MONETARY
Informazioni di formattazione Monetario- restituite dalla funzione di localeconv.LC_NUMERIC
Carattere del separatore decimale per le routine di output formattato come printf), per le routine di conversione di dati e per le informazioni non monetarie di formattazione restituite da localeconv.Oltre al carattere separatore decimale, LC_NUMERIC imposta il separatore delle migliaia e la stringa di raggruppamento del controllo restituiti da localeconv.LC_TIME
Le funzioni di wcsftime e di strftime.
Questa funzione convalida dei parametri di locale e di category.Se il parametro di categoria non è uno dei valori forniti nella tabella precedente o se locale è NULL, la funzione restituisce NULL.
L'argomento di locale è un puntatore a una stringa che specifica le impostazioni locali.Per informazioni sul formato di un argomento di locale, vedere Nomi delle impostazioni locali, lingue e stringhe relative a paesi.
L'argomento di locale può accettare un nome delle impostazioni locali, una stringa di linguaggio, una stringa di linguaggio e un codice area a un paese, una tabella codici, o una stringa di linguaggio, un codice area a un paese e una tabella codici.Il set di nomi delle impostazioni locali disponibili, di linguaggi, di codici area a un paese e di tabelle codici include tutto quelli supportati dalle finestre il NLS API eccetto le tabelle codici che richiedono più di due byte per carattere, come UTF-7 e UTF-8.Se si fornisce una tabella codici come UTF-7 o UTF-8, _create_locale ha esito negativo, restituisce NULL.Il set di nomi delle impostazioni locali supportate da _create_locale viene descritto in Nomi delle impostazioni locali, lingue e stringhe relative a paesi.Il set di stringhe di lingua e il paese supportate da _create_locale è elencato in Stringhe di linguaggio e in Stringhe area a un paese/regione.
Per ulteriori informazioni sulle impostazioni locali, vedere setlocale, _wsetlocale.
Il nome precedente di questa funzione, __create_locale (con due caratteri di sottolineatura e), è stato deprecato.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_create_locale |
<locale.h> |
_wcreate_locale |
<locale.h> o <wchar.h> |
Per informazioni aggiuntive di compatibilità, vedere 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);
}
Esempio di output
In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'
Equivalente .NET Framework
Classe di System::Globalization::CultureInfo
Vedere anche
Riferimenti
Nomi delle impostazioni locali, lingue e stringhe relative a paesi
Stringhe area a un paese/regione
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l
strftime, wcsftime, _strftime_l, _wcsftime_l