CodeBlanks Logo Icon CodeBlanks

ANSI escape

  • C kursu
  • İleri seviye
  • Ders 46/83
  • 5 dk

ANSI kaçış dizileriyle renk ve imleç öğrenirsin.

ANSI escape dizileri

ANSI kaçış dizileri, terminalde renk, imleç konumu ve stil değiştirmek için kullanılır. Hepsi ESC (onluk 27, sekizlik \033) karakteriyle başlar; ardından [ ve komut gelir. Örneğin \033[31m metni kırmızı yapar, \033[0m tüm biçimleri sıfırlar.

Renk kodları: 30 siyah, 31 kırmızı, 32 yeşil, 33 sarı, 34 mavi. İmleç hareketi: \033[H sol üst köşe, \033[2J ekranı temizler. C'de printf("\033[31mkırmızı\033[0m\n") ile yazdırırsın. Test ortamında ESC karakteri görülmez ama çıktı deterministiktir.

Renk ve sıfırlama

Renk kullanmanın temel yöntemi: aç, yaz, sıfırla. Önce \033[31m ile rengi açar, metni yazarsın, sonra \033[0m ile biçimi sıfırlarsın. Aksi halde sonraki tüm çıktılar renkli kalır.

C'de bunu tek printf ile yapabilirsin: printf("\033[31mkırmızı\033[0m\n");. Burada \033 ESC karakterini, \n yeni satırı üretir. Test ortamında bu çıktı ESC karakteri içerir; beklenen çıktıyı yazarken \u001b ile gösterilir. Çıktı deterministiktir.

Uygulama Renkli metin yazdır

printf("\033[31mkırmızı\033[0m\n"); ile kırmızı renkte metin yazdır. Renk kodundan sonra \033[0m ile sıfırlama yap.

Başlangıç kodu

main.c
#include <stdio.h>

// kırmızı metin yazdır ve sıfırla

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    printf("\033[31mkırmızı\033[0m\n");
    return 0;
}

Beklenen çıktı

kırmızı

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi ANSI kodu kırmızı renk verir?

  • 30
  • 31 Doğru cevap
  • 33
  • 32

Açıklama: 31 kırmızı rengin kodudur.

2 ANSI kodlarını eşle

Kavram Anlamı
\033[31m Kırmızı
\033[0m Sıfırla
\033[2J Ekranı sil
\033[H Sol üst

3 Kırmızı renk

Soru
printf("\033[____mkırmızı\033[0m
");
Cevap
printf("\033[31mkırmızı\033[0m
");

Açıklama: 31 kırmızı rengin ANSI kodudur.

İleri seviye bölümündeki tüm dersler