Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <locale.h> > setlocale

setlocale() fonksiyonu

Bildirim

char* setlocale(int category, const char* locale);

Açıklama

Sistemin lokal değerlerinin tamamını veya bir kısmını belirli bir dile göre ayarlar. Eğer locale parametre değeri NULL bir işaretçi ise, fonksiyon sadece sistemin yerel değerlerini sorgular.

Parametreler

category: LC ifadesi ile başlayan makrolardan biridir. NULL bir değer atanabilir.

locale: Sistemin yerel değerler tanımlayıcısıdır.

Dönüş değeri

Eğer fonksiyon başarılı bir şekilde çalışırsa, yerel ayarları gösteren bir karakter dizisi geri döndürülür. Fonksiyon gerekli işlemi yapamışsa, NULL bir değer geri döndürülür.

Örnek


#include <stdio.h>
#include <locale.h>

int main(void) {
    /* Aktif yerel ayarlar */
    printf("%s\n", setlocale(LC_ALL, NULL));
    printf("%.2f\n", 1275.46);

    /* Yerel ayarları Türkçe'ye çevirme */
    printf("%s\n", setlocale(LC_ALL, "Turkish"));
    printf("%.2f\n", 1275.46);

    /* Yerel ayarları İngilizce'ye çevirme */
    printf("%s\n", setlocale(LC_ALL, "English"));
    printf("%.2f", 1275.46);

    return 0;
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

C
1275.46
Turkish_Turkey.1254
1275,46
English_United States.1252
1275.46

Yukarıdaki program, önce aktif yerel ayarları, sonra sırasıyla Türkçe ve İngilizce ayarları kullanarak 1275.46 float değeri ekrana yazar. Türkçe ayarlar geçerli iken ondalık işareti olarak , (virgül), İngilizce ayarlar geçerli iken ise . (nokta) karakteri kullanılır.