C ++ 'daki setlocale () işlevi, geçerli program için yerel bilgileri ayarlar.
Setlocale () işlevi başlık dosyasında tanımlanmıştır.
setlocale () prototipi
int setlocale (int kategori, const char * yerel);
Setlocale işlevi, verilen kategori için belirli bir sistem yerel ayarı ayarlamak için kullanılır. Setlocale işlevi, geçerli C yerel ayarını sorgulamak için de kullanılabilir.
Bu, yerel ayar yerine bir boş gösterici geçirilerek yapılabilir.
setlocale () Parametreler
- kategori: Programın hangi yerel ayar bilgilerinin etkilendiğini belirtir. Kategori için olası makrolar:
Makrolar | Açıklama |
---|---|
LC_ALL | Tüm C yerel ayarlarını seçer |
LC_COLLATE | Harmanlama kategorisini seçin |
LC_CTYPE | Karakter sınıflandırma kategorisini seçer |
LC_MONETARY | Parasal biçimlendirme kategorisini seçer |
LC_NUMERIC | Sayısal biçimlendirme kategorisini seçer |
LC_TIME | Saat biçimlendirme kategorisini seçer |
- yerel ayar: Sisteme özgü bir yerel tanımlayıcı. Boş gösterici ise, setlocale () çağrısı geçerli C yerel ayarını sorgular.
setlocale () Dönüş değeri
- Başarı durumunda setlocale () işlevi, değişiklikleri uyguladıktan sonra C yerel ayarını tanımlayan dizeye bir işaretçi döndürür.
- Başarısızlık halinde boş gösterici döndürür.
Örnek: setlocale () işlevi nasıl çalışır?
#include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )
Programı çalıştırdığınızda, çıktı:
Geçerli yerel ayar: en_US.utf8 Yerel ayarı değiştirme Geçerli yerel ayar: en_GB.utf8