Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir yerel ayar nesnesi oluşturur.
Sözdizimi
_locale_t _create_locale(
int category,
const char *locale
);
_locale_t _wcreate_locale(
int category,
const wchar_t *locale
);
Parametreler
category
Kategori.
locale
Yerel ayar tanımlayıcı.
Dönüş değeri
Geçerli locale ve category verilirse, işlevler belirtilen yerel ayar ayarlarını nesne _locale_t olarak döndürür. Programın geçerli yerel ayar ayarları değiştirilmez.
Açıklamalar
_create_locale işlevi, birçok CRT işlevinin yerel ayara özgü sürümlerinde (soneki olan işlevler) kullanmak üzere belirli bölgeye özgü ayarları temsil eden bir nesne oluşturmanıza _l olanak tanır. Davranışı ile benzerdir setlocale, ancak belirtilen yerel ayar ayarlarını geçerli ortama uygulamak yerine, ayarlar döndürülen bir _locale_t yapıya kaydedilir. Yapı _locale_t artık gerekli olmadığında kullanılarak _free_locale serbest olmalıdır.
_wcreate_locale , öğesinin _create_localegeniş karakterli bir sürümüdür; locale bağımsız değişkeni _wcreate_locale geniş karakterli bir dizedir. _wcreate_locale ve _create_locale aksi takdirde aynı şekilde davran.
category bağımsız değişkeni, etkilenen yerel ayara özgü davranışın bölümlerini belirtir. bu tabloda gösterildiği gibi, için category kullanılan bayraklar ve programın etkilediği bölümler şunlardır:
category bayrak |
Etkiledi -ğini |
|---|---|
LC_ALL |
Aşağıda listelendiği gibi tüm kategoriler. |
LC_COLLATE |
strcoll, , _stricoll, wcscoll, _wcsicoll, , strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicollve wcsxfrm işlevleri. |
LC_CTYPE |
Karakter işleme işlevleri (etkilenmeyen , isxdigit, mbstowcsve mbtowcdışındaisdigit). |
LC_MONETARY |
İşlev tarafından localeconv döndürülen parasal biçimlendirme bilgileri. |
LC_NUMERIC |
Veri dönüştürme yordamları ve tarafından localeconvdöndürülen parasal olmayan biçimlendirme bilgileri için biçimlendirilmiş çıkış yordamlarının (örneğinprintf), ondalık nokta karakteri. Ondalık nokta karakterine ek olarak, LC_NUMERIC binlik ayırıcısını ve tarafından localeconvdöndürülen gruplandırma denetim dizesini ayarlar. |
LC_TIME |
strftime ve wcsftime işlevleri. |
Bu işlev ve locale parametrelerini doğrularcategory. Kategori parametresi önceki tabloda verilen değerlerden biri değilse veya ise locale NULLişlevi döndürür NULL.
locale Bağımsız değişken, yerel ayarı belirten bir dize işaretçisidir. Bağımsız değişkenin locale biçimi hakkında bilgi için bkz . Yerel ayar adları, Diller ve Ülke/Bölge dizeleri.
Bağımsız locale değişken birkaç tür değer alabilir: yerel ayar adı, dil dizesi, dil dizesi ve ülke/bölge kodu, kod sayfası veya dil dizesi, ülke/bölge kodu ve kod sayfası birleşimi. Küme (kullanılabilir yerel ayar adları, diller, ülke/bölge kodları ve kod sayfaları) Windows NLS API'sinin desteklediği tüm öğeleri içerir. Desteklenen yerel ayar adları _create_locale kümesi Yerel ayar adları, Diller ve Ülke/Bölge dizelerinde açıklanmıştır. Tarafından desteklenen _create_locale dil ve ülke/bölge dizeleri kümesi, Dil dizeleri ve Ülke/Bölge dizelerinde listelenir.
Yerel ayar ayarları hakkında daha fazla bilgi için bkz setlocale. , _wsetlocale.
Bu işlevin __create_locale önceki adı (başında iki alt çizgi olan) kullanım dışı bırakıldı.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
| Yordam | Gerekli başlık |
|---|---|
_create_locale |
<locale.h> |
_wcreate_locale |
<locale.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// 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'
Ayrıca bkz.
Yerel ayar adları, Diller ve Ülke/Bölge dizeleri
Dil dizeleri
Ülke/Bölge dizeleri
_free_locale
_configthreadlocale
setlocale
Yerel ayar
localeconv
_mbclen, mblen, _mblen_l
strlen, wcslen, _mbslen, , _mbslen_l, _mbstrlen, _mbstrlen_l
mbstowcs, _mbstowcs_l
mbtowc, _mbtowc_l
_setmbcp
setlocale, _wsetlocale
strcoll işlevleri
strftime, wcsftime, _strftime_l, _wcsftime_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l
wcstombs, _wcstombs_l
wctomb, _wctomb_l