Używając C / C ++, w jaki sposób drukujesz na standardowe wyjście, ale tylko jeśli terminal je obsługuje?
Mam program, który loguje rzeczySTDOUT
.
Te wpisy dziennika mają skojarzony „poziom dziennika” (debugowanie, ostrzeżenie, informacje itd.) I chciałbym dać użytkownikowi możliwość pokolorowania tego wyjścia, w zależności od poziomu dziennika.
Jaki jest sposób określenia, czySTDOUT
jest podłączony do terminala, który jest w kolorze? Jak mogę wtedy wydrukować mój tekst za pomocą kolorów?
Szukam rozwiązania, które obejmuje tylko wywołania C lub C ++. zgadujęcurses
(lubncurses
) ma coś do złagodzenia tego, ale chciałbym uniknąć jego użycia, aby ograniczyć moje zależności do minimum.