newlocale
Yeni bir locale oluşturur.
Syntax
locale_t newlocale(int category_mask, const char* locale, locale_t base);Params
- category_mask: Bir katagori seçilir.
- locale: Local adı verilir. Örn:
en_US.UTF-8,CeğerNULLolursa yeni oluşturur. - base: Sıfır olarak tanımlanır.
Kategori Mask Listesi:
- LC_CTYPE_MASK
- LC_NUMERIC_MASK
- LC_TIME_MASK
- LC_COLLATE_MASK
- LC_MONETARY_MASK
- LC_MESSAGES_MASK
- LC_PAPER_MASK
- LC_NAME_MASK
- LC_ADDRESS_MASK
- LC_TELEPHONE_MASK
- LC_MEASUREMENT_MASK
- LC_IDENTIFICATION_MASK
- LC_ALL_MASK
example.cpp
#include <stdio.h>
#include <locale.h>
int main(int argc, char** argv)
{
locale_t loc = newlocale(LC_ALL_MASK, "en_US.UTF-8", (locale_t)0);
if(!loc)
{
printf("newlocale error\n");
return -1;
}
return 0;
}duplocale
Verilen locale_t nesnesinin kopyasını oluştur. Başarılı olursa locale_t döner. Başarısız durumun da NULL olarak döner.
Syntax
locale_t duplocale(locale_t dataset);Params
- dataset:
locale_ttipinde bir değer alır.
example.cpp
#include <stdio.h>
#include <locale.h>
int main(int argc, char** argv)
{
...
locale_t copy_loc = duplocale(loc);
if(!copy_loc)
{
printf("duplocale error\n");
return -1;
}
return 0;
}freelocale
Oluşturulmuş locale_t nesnelerini serbest bırakır.
Syntax
void freelocale(locale_t dataset);Params
- dataset:
locale_ttipinde bir değer alır.
example.cpp
#include <stdio.h>
#include <locale.h>
int main(int argc, char** argv)
{
...
freelocale(loc);
freelocale(copy_loc);
return 0;
}uselocale
Aktif bir thread'in localini değiştirir.
Syntax
locale_t uselocale(locale_t dataset);Params
- dataset: Eğer
LC_GLOBAL_LOCALEverilirise thread, tekrar global locale’i kullanmaya başlar.NULLverlirse sadece mevcut thread’in aktif locale’i döndürülür (değişiklik yapılmaz). Birlocale_tnesnesi verilirse o locale, geçerli thread için aktif olur.
example.cpp
#include <stdio.h>
#include <locale.h>
int main(int argc, char** argv)
{
...
locale_t thread_loc = uselocale(loc);
if(!thread_loc)
{
printf("uselocale error\n");
return -1;
}
return 0;
}
0 comments:
Yorum Gönder