_create_locale, _wcreate_locale

Yerel ayar nesnesi oluşturur.

_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 bir locale ve category verilirse, _locale_t nesnesi olarak belirtilen yerel ayarlar döndürür.Programın geçerli yerel ayarları değiştirilmez.

Notlar

_create_locale işlevi, birçok CRT işlevinin bölgesel ayara özgü sürümlerinde ( _l soneki olan işlevlerde) kullanmak için bölgeye özgü belirli ayarları temsil eden bir nesne oluşturmanıza izin.Davranış, belirtilen yerel ayarların geçerli ortama uygulanması yerine bunların döndürülen bir _locale_t yapısına kaydedilmesi dışında setlocale işlevine benzer._locale_t yapısı, yapıya artık gerek kalmadığında _free_locale kullanılarak bellekten kaldırılmalıdır.

_wcreate_locale geniş karakterli bir _create_locale sürümüdür; locale ile ilgili biçim bağımsız değişkenler _wcreate_localegeniş karakterli dizelerdir.Aksi takdirde, _wcreate_locale ve _create_locale aynı şekilde davranır.

category bağımsız değişkeni, yerel ayara özgü davranışın etkilenen kısımlarını belirtir.category için kullanılan bayraklar ve etkiledikleri programın kısımları aşağıdaki tabloda gösterilmektedir.

  • LC_ALL
    Tüm kategoriler aşağıda listelendiği gibidir.

  • LC_COLLATE
    strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicoll ve wcsxfrm işlevleri.

  • LC_CTYPE
    Karakter işleme işlevleri (etkilenmeyen isdigit, isxdigit, mbstowcs ve mbtowc hariç).

  • LC_MONETARY
    localeconv işlevi tarafından döndürülen para biçimli bilgiler.

  • LC_NUMERIC
    Biçimlendirilen çıkış rutinleri (printf) için, veri dönüştürme rutinleri için ve localeconv tarafından döndürülen parasal olmayan biçimlendirme bilgileri için ondalık nokta karakteri.Ondalık ayırıcı karakterinin yanı sıra, LC_NUMERIC seçeneği de binlik ayırıcıyı ve localeconv tarafından döndürülen gruplama denetimi dizesini ayarlar.

  • LC_TIME
    strftime ve wcsftime işlevleri.

Bu işlev, category ve locale parametrelerini doğrular.Kategori parametresi önceki tabloda verilen değerlerden biri değilse veya locale parametresi NULL ise, işlev NULL döndürür.

locale bağımsız değişkeni yereli belirten bir dizeyi gösterir.locale bağımsız değişkeninin biçimi hakkında bilgi için, bkz. Yerel Ayar Adları, Diller ve Ülke/Bölge Dizeleri.

locale bağımsız değişkeni bir yerel ad, bir dil dizesi, bir dil dizesi ve ülke/bölge kodu, bir kod paketi veya bir dil dizesi, ülke/bölge kodu ve kod sayfası alabilir.Kullanılabilen yerel veri adları, diller, ülke/bölge kodları ve kod sayfaları paketleri örneğin UTF-7 ve UTF-8 gibi karakter başına iki bayttan fazlasını gerektiren kod sayfaları dışında Windows NLS API tarafından desteklenenlerin tamamını içermektedir.UTF-8 ya da UTF-7 gibi bir kod sayfası sağlarsanız, _create_locale başarısız olur ve NULL değeri döndürür._create_locale tarafından desteklenen yerel veri ad paketleri Yerel Ayar Adları, Diller ve Ülke/Bölge Dizeleri içerisinde açıklanmıştır._create_locale tarafından desteklenen dil ve ülke/bölge dize kümesiDil Dizeleri and Ülke/Bölge Dizeleri içerisinde listelenmiştir.

Yerel ayarlar hakkında daha fazla bilgi için bkz. setlocale, _wsetlocale.

Bu işlevin bir önceki adı __create_locale (önünde iki adet alt çizgi ile) kullanım dışı kalmıştır.

Gereksinimler

Yordam

Gerekli başlık

_create_locale

<locale.h>

_wcreate_locale

<locale.h> veya <wchar.h>

Ek uyumluluk bilgileri 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 (&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);
}

Örnek Çıktı

In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'

.NET Framework Eşdeğeri

System::Globalization::CultureInfo Sınıfı

Ayrıca bkz.

Başvuru

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, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

_setmbcp

setlocale, _wsetlocale

strcoll İşlevleri

strftime, wcsftime, _strftime_l, _wcsftime_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

wcstombs, _wcstombs_l

wctomb, _wctomb_l