_create_locale
, _wcreate_locale
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_locale
geniş 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 , _wcsnicoll ve wcsxfrm işlevleri. |
LC_CTYPE |
Karakter işleme işlevleri (etkilenmeyen , isxdigit , mbstowcs ve mbtowc dışı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 localeconv dö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 localeconv dö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
NULL
iş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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin