C 프로그램 출력에 색을 주고 싶은데...

electr의 이미지

C의 출력 텍스트에 색을 입히고 싶은데 (shell 명령어들 처럼)
어떻게 해야 하는지 모르겠습니다.
이를 조작하는 것을 공부하려면 어떤 부분을 해야 하나요???
쉘 자체의 환경변수 같은 것을 수정해야 하는건지.
아니면 출력 형식을 다룰 수 있는 방법이 있는건지..

혹시 아는 사이트 있다면 알려주시길 부탁드립니다.

Prentice의 이미지

ncurses를 알아보세요. :)

ctcquatre의 이미지

ANSI
아니면 검은해님의 말씀대로 Ncurses

Chaos to Cosmos,
Chaos to Chaos,
Cosmos to Cosmos,
Cosmos to Chaos.

익명 사용자의 이미지

언젠가 복사해둔 코드입니다.

ANSI 인데 이정도면 시작은 가능할꺼 같네요.

#include <iostream> 

using std::cout; 

static char *__tty_color[] = { 
      "\033[0;40;30m",       /* 0   black on black */ 
      "\033[0;40;31m",       /* 1   red */ 
      "\033[0;40;32m",       /* 2   green */ 
      "\033[0;40;33m",       /* 3   brown */ 
      "\033[0;40;34m",       /* 4   blue */ 
      "\033[0;40;35m",       /* 5   magenta */ 
      "\033[0;40;36m",       /* 6   cyan */ 
      "\033[0;40;37m",       /* 7   light gray */ 
      "\033[1;40;30m",       /* 0   gray */ 
      "\033[1;40;31m",       /* 1   brightred */ 
      "\033[1;40;32m",       /* 2   brightgreen */ 
      "\033[1;40;33m",       /* 3   yellow */ 
      "\033[1;40;34m",       /* 4   brightblue */ 
      "\033[1;40;35m",       /* 5   brighmagenta */ 
      "\033[1;40;36m",       /* 6   brightcyan */ 
      "\033[1;40;37m",       /* 7   white */ 
}; 

int main() 
{ 
  cout << __tty_color[1] << "Amazing kiss\n" << __tty_color[7] << '\n'; 

  return 0; 
}