Bazen Linux üzerinde yazdığımız kodları test ederken, terminale log yazdırırken veya sadece terminal üzerinde çalışan bir app yazdığımızda ekrana bazı çıktılar vermek zorunda kalabiliriz. Bu çıktıları verirken genelde 2 renkten oluşan terminal ekranı epey karışık ve anlaması zor hale gelebilir. Bu sorunu çözebilmek için ANSI renk kodlarını kullanabilir, terminal ekranımızı renklendirebilir ve başka değişiklikler yapabiliriz.
Bu renk kodlarını C++ üzerinde şu şekilde deneyebiliriz.
#include <cstdint>
#include <iostream>
int main(int argc, const char **argv) {
std::cout << "Bold- Bckgrnd- Bright- Underline\n";
for (std::uint8_t i = 30; i < 38; i++) {
std::cout << "\033[1;" << unsigned(i) << "mtext\033[0m\t";
std::cout << "\033[1;" << unsigned(i + 10) << "m\033[1;37mtext\033[0m\t";
std::cout << "\033[0;" << unsigned(i) << "mtext\033[0m\t";
std::cout << "\033[4;" << unsigned(i) << "mtext\033[0m\n";
}
return 0;
}
Terminal üzerinde çalıştırdığımızda şu şekilde bir çıktı alırız.

Kodu açıklamak gerekirse,
std::cout << “\033[1;31mtext\033[0m\t”;
\033 -> ESC karekteri,
[1; -> Yazının bold olacağı anlamına gelir.
31 -> Yazının kırmızı rengi alacağını bildirir.
\033[0 -> ESC karekteri ve reset kodu.
Konuyla alakalı bazı düzenlemeleri ve bu düzenlemelerin kodlarını aşağıdaki tablodan görebilirsiniz.
| Renk | Ön plan kodu | Arka plan kodu |
| Siyah | 30 | 40 |
| Kırmızı | 31 | 41 |
| Yeşil | 32 | 42 |
| Sarı | 33 | 43 |
| Mavi | 34 | 44 |
| Beyaz | 37 | 47 |
Ayrıca şu kodları da kullanabilirsiniz.
| Reset | 0 |
| Kalın/ince | 1 |
| Alt çizgi | 4 |
| Tersine çevirmek | 7 |
Daha detaylı bilgi almak için wikipedia sayfasını inceleyebilirsiniz.