Anda perlu menampilkan kode warna ANSI. Perhatikan bahwa tidak semua terminal mendukung ini; jika urutan warna tidak didukung, sampah akan muncul.
Contoh:
 cout << "\033[1;31mbold red text\033[0m\n";
 Di sini, \033 adalah karakter ESC, ASCII 27. Diikuti dengan [ , lalu nol angka atau lebih yang dipisahkan oleh ; , dan terakhir huruf m . Angka-angka menjelaskan warna dan format untuk beralih dari titik itu dan seterusnya.
Kode untuk warna latar depan dan latar belakang adalah:
         foreground background
black        30         40
red          31         41
green        32         42
yellow       33         43
blue         34         44
magenta      35         45
cyan         36         46
white        37         47
Selain itu, Anda dapat menggunakan ini:
reset             0  (everything back to normal)
bold/bright       1  (often a brighter shade of the same colour)
underline         4
inverse           7  (swap foreground and background colours)
bold/bright off  21
underline off    24
inverse off      27
Lihat tabel di Wikipedia untuk kode lain yang kurang didukung secara luas.
 Untuk menentukan apakah terminal Anda mendukung rangkaian warna, baca nilai TERM variabel lingkungan. Itu harus menentukan jenis terminal tertentu yang digunakan (mis. vt100 , gnome-terminal , xterm , screen , ...). Kemudian cari di database terminfo; centang colors kemampuan.
Sebelum Anda menampilkan warna apa pun yang Anda butuhkan, pastikan Anda berada di terminal:
[ -t 1 ] && echo 'Yes I am in a terminal'  # isatty(3) call in C
Maka Anda perlu memeriksa kemampuan terminal jika mendukung warna
 pada sistem dengan terminfo (berbasis Linux) Anda dapat memperoleh jumlah warna yang didukung sebagai
Number_Of_colors_Supported=$(tput colors)
 pada sistem dengan termcap (berbasis BSD) Anda dapat memperoleh jumlah warna yang didukung sebagai
Number_Of_colors_Supported=$(tput Co)
Kemudian buat keputusan Anda:
[ ${Number_Of_colors_Supported} -ge 8 ] && {
    echo 'You are fine and can print colors'
} || {
    echo 'Terminal does not support color'
}
BTW, jangan gunakan pewarnaan seperti yang disarankan sebelumnya dengan karakter ESC.Gunakan kemampuan standar panggilan ke terminal yang akan memberi Anda warna BENAR yang didukung oleh terminal tertentu.
Berbasis BSDfg_black="$(tput AF 0)"
fg_red="$(tput AF 1)"
fg_green="$(tput AF 2)"
fg_yellow="$(tput AF 3)"
fg_blue="$(tput AF 4)"
fg_magenta="$(tput AF 5)"
fg_cyan="$(tput AF 6)"
fg_white="$(tput AF 7)"
reset="$(tput me)"
fg_black="$(tput setaf 0)"
fg_red="$(tput setaf 1)"
fg_green="$(tput setaf 2)"
fg_yellow="$(tput setaf 3)"
fg_blue="$(tput setaf 4)"
fg_magenta="$(tput setaf 5)"
fg_cyan="$(tput setaf 6)"
fg_white="$(tput setaf 7)"
reset="$(tput sgr0)"
echo -e "${fg_red}  Red  ${fg_green} Bull ${reset}"
Dasar-dasar
 Saya telah menulis kelas C++ yang dapat digunakan untuk mengatur warna latar depan dan latar belakang keluaran. Contoh program ini berfungsi sebagai contoh pencetakan This ->word<- is red. dan memformatnya sehingga warna latar depan word berwarna merah.
#include "colormod.h" // namespace Color
#include <iostream>
using namespace std;
int main() {
    Color::Modifier red(Color::FG_RED);
    Color::Modifier def(Color::FG_DEFAULT);
    cout << "This ->" << red << "word" << def << "<- is red." << endl;
}
Sumber
#include <ostream>
namespace Color {
    enum Code {
        FG_RED      = 31,
        FG_GREEN    = 32,
        FG_BLUE     = 34,
        FG_DEFAULT  = 39,
        BG_RED      = 41,
        BG_GREEN    = 42,
        BG_BLUE     = 44,
        BG_DEFAULT  = 49
    };
    class Modifier {
        Code code;
    public:
        Modifier(Code pCode) : code(pCode) {}
        friend std::ostream&
        operator<<(std::ostream& os, const Modifier& mod) {
            return os << "\033[" << mod.code << "m";
        }
    };
}
Lanjutan
 Anda mungkin ingin menambahkan fitur tambahan ke kelas. Misalnya, dimungkinkan untuk menambahkan warna magenta dan bahkan gaya seperti huruf tebal . Untuk melakukan ini, cukup masukan lagi ke Code pencacahan. Ini referensi yang bagus.