setlocale işlevi yerel
kategori katgorisini
yerel yereline ayarlar. Sistem tarafından desteklenen tüm yerellerin listesini kabukta
komutunu vererek alabilirsiniz.
Bu işlevi ayrıca, yerel argümanında boş gösterici aktararak belirtilen kategoriye atanmış değeri öğrenmek için de kullanabilirsiniz. Bu durumda setlocale işlevi, kategori kategorisi için seçilmiş olan yerel ismini içeren bir dizge döndürür.
setlocale işlevi ile döndürülen bu dizge işlevin sonraki çağrıları ile değiştirilen yerel kategorisinin bu ilk duruma getirilmesinde kullanmak üzere saklanabilir (
Kopyalama ve Birleştirme). (Kütüphanede kendiliğinden bir
setlocale çağrısının asla yapılmayacağı garanti edilmiştir.)
setlocale ile döndürülen dizgede değişiklik yapmamalısınız. İlk duruma getirmek için yapacağınız çağrıda kullanacağınız dizge işlev tarafından döndürülen dizgenin aynısı olmak zorundadır. Ayrıca bu işlemi yaparken yerel dizgesinin alındığı kategoriye atanmasına da dikkat etmelisiniz.
Bu sorguyu LC_ALL kategorisi için yaparsanız, dönen değer, tüm kategoriler için seçilmiş yerellerin birleşimi olacaktır. Bu durumda dönen değer tek bir yerel ismi içermeyebilir. Aslında değerin nasıl görüneceği ile ilgili bir varsayım yapmadık. Ancak işlevin sonraki çağrısında LC_ALL makrosu için aynı değeri aktarırsanız, aynı yerel birleşimi elde edilecektir.
Dönen dizgenin sonradan kullanmak istediğinizde aynı kodlamada kalmasını istiyorsanız dizgenin bir kopyasını saklamalısınız. Dönen göstericinin daima geçerli kalacağı garanti edilmemiştir.
yerel argümanı bir boş gösterici değilse, setlocale tarafından döndürülen dizge kategoriye atanan yeni yerele ilişkin dizge olacaktır.
yerel argümanında bir boş dizge belirtirseniz, ilgili ortam değişkeni okunacak ve değeri belirtilen kategori kategoroisine atanacaktır.
yerel argümanına boş olmayan bir dizge belirtirseniz, mümkünse bu ismin yereli kullanılacaktır.
Geçersiz bir yerel ismi belirtirseniz, işlev bir boş gösterici döndürür ve o anki yereli değiştirmez.