PDA

Tam Sürümünü Görmek İçin : c - ekran komutları, çıktı formatlama


euler
05/01/2006, 03:54
C ile yazdığım ufak bir terminal uygulamasında çıktının belli kısımlarını renklendirmek istiyorum. Ancak standart C kütüphanelerinde bu işi yapacak bir fonksiyon göremedim? C konusunda bilgisi az olan biri olarak google ve usenet comp.lang.c'de bir miktar arama yaptım ve sanırım C'de böyle bir fonksiyon gerçekten yok ve nedeni de standart C kütüphanesinin ekranı tanımaması, sadece stdin - stdout bazlı çalışması.

Peki bu durumda ben bu işi nasıl yapacağım? Ekranımın boyutlarını hesaplayıp gerektiğinde 3'e, 5'e bölüp renkli renkli çıktılar vermekten mahrum mu kalacağım? Sanırım işim kullandığım terminalin ortam değişkenlerine düşecek.

Konu hakkında fikri olan var mı?

Bu arada üzerinde çalıştığım sistem bir GNU/Linux. Bu durumda conio.h'tan da mahrum kaldığımı söylememe gerek yok sanırım. Sanırım bunun için de ncurses'ı incelemeliyim.

Kendim sorup kendim cevapladım gibi oldu bir miktar ama görüşleri almak isterim.


acehreli
06/01/2006, 18:16
Hic kullanmadim ama ncurses gibi bir kutuphanede renk herhalde vardir.

Ondan baska, terminale renk komutlari vermek icin yine stdout'u kullanabilirsin. Calistigin terminal, cikisa gonderdigin karakterler arasindan bazi ozel karakter dizilerini kendisine gonderilmis komutlar olarak algilar, kullanir, istedigini yapar, ve onlari cikis dizisinden cikartir.

Su sayfada guzel ornekler var:

http://linuxgazette.net/issue65/padala.html

Ali

redplanet
27/01/2006, 18:53
renklendirme olamıycağını düşünüyorum ama emin değilim. hocamla konuşup bilgi alabilirim. öğrenirsem tekrar yazarım. kolay gelsin..

acehreli
27/01/2006, 19:41
Verdigim baglantida renklendirmenin nasil yapildigi anlatildigi halde hAlA renklendirmenin olamayacagini mi dusunuyorsun ;)

Belki de standart C ile renklendirme yapilamayacagini soylemek istedin... euler de oyle oldugunu biliyor zaten.

Ali