텔넷에서 칼라를 출력하는 방법을 알고싶습니다.

cjy1126의 이미지

linux에서 c로 ls를 만들고 있습니다.

ls와 같이 파일종류에 따라서 다른색을 출력하고 싶은데, 어떤식으로 출력을 해야하나요?

dos면 cprintf를 쓰면되는데... linux쪽은 경험이 없어서 모르겠습니다.

조언 부탁드립니다.

세벌의 이미지

curses 를 공부해 보세요.

neohwang의 이미지

제가 맞는 답변을 하는지 모르지만...

ANSI Color를 이용하면 됩니다.
그게 제어문자와 어떤 숫자를 조합하면 여러가지 효과를 줄 수 있습니다.

예전에 telnet 프로그램 만들때 그렇게 했는데..
하도 오랜전에 한 일이라.......

어쨋든 검색엔진 등에서 ANSI Color 와 관련된 사항을 찾아보세요..
천리안, 나우누리 같은 PC 통신시절에는 많이 사용한 것입니다.

feanor의 이미지

curses를 쓰시는 게 "맞는" 방법이구요, 터미널이 VT100 호환이라면 (아마 그럴 가능성이 높은데) 쉘에서 다음과 같이 해 보세요.

$ echo $'\e[31m red \e[32m green \e[33m yellow \e[34m blue \e[m normal'

VT100을 가정하신다면 그냥 printf로 \e[...를 찍으시면 됩니다.

--feanor