C Programlama 002
Önceki yazımda hatırlarsanız ekrana Merhaba Dünya yazdıran bir programın ekran görüntüsünü paylaşmıştım.
Dikkat ederseniz ü harfini program çıktısında göremiyoruz. Yine 3 tane yazılan Merhaba Dünya yazısından ikisi bitişik yazılmışken diğeri bir alt satıra yazılmış olarak görüyoruz. Bu tür sorunları aşmak için bazı ifadeler ve bir fonksiyon göstereceğim.
locale.h : Genelde Türkçe karakter kullanmak için programımıza eklememiz gerek kütüphane.
- Yerel ayarları kontrol etmek ve yerel ayarlara ilişkin işlevleri kullanmak için kullanılan başlık dosyasıdır. Bu başlık dosyası, dil, para birimi, saat biçimi, sayı biçimi gibi yerel ayarlarla ilgili işlevleri sağlar.
- locale.h başlık dosyası, yerel ayarlarla ilgili işlevlerin prototiplerini ve tanımlarını içerir. Bu işlevler, belirli bir dil veya bölgeye göre metinlerin biçimlendirilmesi, para birimlerinin biçimlendirilmesi, tarih ve saat biçimlerinin ayarlanması gibi işlemleri gerçekleştirmek için kullanılır.
- Bazı yaygın olarak kullanılan `locale.h` işlevleri şunlardır:
-- setlocale(): Programın yerel ayarını belirlemek için kullanılır.
-- localeconv(): Programın yerel ayarına bağlı olarak para birimi biçimini ve sayı biçimini döndürmek için kullanılır.
-- strftime(): Tarih ve saat biçimlerini belirli bir dil ve bölgeye göre biçimlendirmek için kullanılır.
-- strfmon(): Para birimini belirli bir dil ve bölgeye göre biçimlendirmek için kullanılır.
Bu işlevler, programın çalışma zamanında yerel ayarları değiştirmek ve belirli bir dil veya bölgeye göre metinlerin ve verilerin biçimlendirilmesini sağlamak için kullanılır.
Örnek bir kullanım:
#include <stdio.h>
#include <locale.h>
int main() {
setlocale(LC_ALL, "tr_TR.UTF-8"); // Türkçe yerel ayarlarını kullan
printf("Para birimi: %s\n", localeconv()->currency_symbol);
return 0;
}
Bu program, setlocale() fonksiyonuyla Türkçe yerel ayarlarını "tr_TR.UTF-8" kullanır ve localeconv() fonksiyonuyla bu yerel ayara bağlı olarak para birimi simgesini ekrana yazdırır.
Örnek Kullanım 2:
Türk Lirası simgesi olan "₺" gibi özel karakterleri C programlarında kullanmak için, özellikle yerel ayarlarınızı ayarlayarak ve doğru karakter kodlamasını kullanarak bu karakterleri ekrana yazdırabilirsiniz.
#include <stdio.h>
#include <locale.h>
int main() {
// Yerel ayarları ayarla
setlocale(LC_ALL, "tr_TR.UTF-8");
// Türk Lirası simgesini ekrana yazdır
printf("Türk Lirası simgesi: ₺\n");
return 0;
}
Bu program, `setlocale()` fonksiyonuyla Türkçe yerel ayarlarını (`tr_TR.UTF-8`) kullanır ve Türk Lirası simgesini doğrudan ekrana yazdırır.
Ancak, bu programın çalışması için, derleyicinizin ve çalıştırdığınız ortamın UTF-8 karakter kodlamasını desteklemesi gerekmektedir. Ayrıca, kullanılan fontun da bu karakteri desteklemesi önemlidir. Çoğu modern terminal ve metin düzenleyici, UTF-8 karakter kodlamasını destekler ve Türk Lirası simgesini doğru şekilde görüntüler.
setlocale(LC_ALL, "Turkish") : Bu fonksiyon sayesinde artık Türkçe karakter kullanabiliriz. Main'in hemen altına yazmayı unutmayın.
Kaçış Dizileri (Yani \n, \t ... İfadeleri)
Tabii, C dilinde kullanılan tüm kaçış dizileri aşağıda listelenmiştir:
1. \n: Yeni Satır (New Line) - Bir alt satıra geçer.
2. \t: Boşluk (Tab) - 7-8 karakterlik boşluk bırakır.
3. \r: Satır Başı (Carriage Return)
4. \\: Ters Taksim (Backslash) - Printf içinde ters slash (taksim) işaretini kullanmamızı sağlar.
5. \': Tek Tırnak (Single Quote) - Printf içinde tek tırnak işaretini kullanmamızı sağlar.
6. \": Çift Tırnak (Double Quote) - Printf içinde çift tırnak işaretini kullanmamızı sağlar.
7. \0: Null Karakter (Null Termination)
8. \a: Bip Sesi (Alert) - Uyarı sesi verir.
9. \b: Geri Tuşu (Backspace) - Kendisinden bir önceki karakteri siler.
10. \f: Sayfa Sonu (Form Feed)
11. \v: Dikey Sekme (Vertical Tab)
Her bir kaçış dizisi, belirli bir özel karakteri veya kontrol karakterini temsil eder. Bu kaçış dizileri, özellikle metin dizilerinde belirli metinsel ve düzenleme işlemleri için kullanılır. Örneğin, `\n` kaçış dizisi bir yeni satır karakterini temsil ederken, `\t` kaçış dizisi 7-8 karakterlik boşluğu (space) temsil eder.
Aşağıda, her bir kaçış dizisinin anlamını daha detaylı olarak açıklayan bir örnek bulunmaktadır:
#include <stdio.h>
int main() {
printf("Yeni satır: 1\n2\n3\n");
printf("Sekme: 1\t2\t3\t\n");
printf("Satır başı: 1\r2\r3\r\n");
printf("Ters taksim: \\ \n");
printf("Tek tırnak: \'\n");
printf("Çift tırnak: \"\n");
printf("Null karakter: A\0B\n");
printf("Bip sesi: \a\n");
printf("Geri tuşu: 123\b4\n");
printf("Sayfa sonu: 1\f2\f3\f\n");
printf("Dikey sekme: 1\v2\v3\v\n");
return 0;
}
Bu örnek programda, her bir kaçış dizisinin kullanımı örneklerle gösterilmiştir. Programı çalıştırdığınızda, her bir kaçış dizisinin etkisini gözlemleyebilirsiniz.
\f ve \v'de cinsiyet simgesi çıkıyor.
YanıtlaSil- 614. Tümen Komutanı