vi 스크립트 비슷하게 구현해보려 하는데 ..
라인번호의 노란색.. 글씨가 탐나네요..
노란색으로 출력하는 방법에 대해서 알려주세요
c언어 자체로 안되면..
펄이나 쉘스크립으로 만들어서 ..
불러올방법 이라도 가르쳐 주세요~
펄이랑 쉘스크립트로 짜는 법도 알려 주셧으면 좋켓어요~~
여기 저기를 뒤져봐도 나와 있는 곳이 없네요 ..
ANSI 코드를 사용하던가, 아님 curses 라이브러리를 사용하던가 하면 됩니다.
^^;;;
이런 식으로 하시면 붉게 'Amazing kiss'라고 터미널로 출력이 됩니다.
#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; }
혹시 위의 코드 C 버전은 없는지요? ^^
언제쯤 정규표현식을 정복할 수 있을까? ㅡㅡ;
C 버전이라고 뭐 다를 게 있나요... 출력함수만 바꾸면 됩니다.
위의 코드는 C가 아닌가 요 ㅠ,.ㅜ
쉘스크립트 같지도 않고 펄같지도 않은데 ~
메일 : nan1004au@gmail.com
위의 코드는 C가 아닌가 요 ㅠ,.ㅜ 쉘스크립트 같지도 않고 펄같지도 않은데 ~
C++ ....
---http://coolengineer.com
이런 식으로 하시면 붉게 'Amazing kiss'라고 터미널로 출력이 됩니다. #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; }
좋은 정보 하나 얻어 가는군요. 감사합니다. :D
이런 식으로 프로그래밍하면 호환성이 떨어집니다. *nix 프로그래머에겐 호환성이 생명입니다!
#include <stdio.h> unsigned char *LOGO[] = { "TEST SYSTEM", }; 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(void) { int i; printf("\n"); for(i=0; LOGO[i]!= NULL; i++) printf("\n%s[%d]",LOGO[i],i); printf("\n"); return 0; }
TEST SYSTEM[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]
정보공유는 자신감의 표현입니다
원래 C 표준라이브러리에는 색갈있는 글자 출력 기능은 없습니다.
저런건 터미널을 직접 제어하는 방법으로 해야 하는데, 그것들은 특별히 정해진 표준이 없다는게 문제죠. ncurses 라이브러리도 C 표준 라이브러리에는 들어가지도 않고요.
vi 처음 만들 당시 제작자들은 여러가지 터미널이 난무해서 이거 드라이버 만드느라고 고생했다고 하더군요.
Written By the Black Knight of Destruction
tty_color 는 사용한적이 없는데 어케 된거 일까요? 궁금합니다. 아울러서 호환성이 떨어진다는 말은 무슨말인가요? ANSI color 이므로 ANSI 를 지원하는 시스템에서는 다 되는거 아닌가요?
LOGO[0] 만 쓸 수 있는데 LOGO[1] 이상을 쓰니 다른 메모리 영역을 침범하게 된 겁니다. 우연히 LOGO[1]의 주소가 tty_color[0]의 주소와 같은 값이 되었을 뿐입니다. :evil:
http://pungryu0507.tistory.com/m/entry/C%EC%96%B8%EC%96%B4-%EC%BD%98%EC%86%94-%EA%B8%80%EC%9E%90-%EC%83%89%EA%B9%94-%EB%84%A3%EA%B8%B0
터미널에 컬러 출력하는 건 사용하시는 언어하고는 전혀 관계 없습니다.
당신이 무엇을 출력하든 사용자가 보는 결과는 사용자가 쓰는 터미널에 달려있지.
컬러를 찍으실 것이면 컬러를 제대로 지원하는 - 256 컬러 이상 - 터미널 클라이언트에 대해서 실험을 하세요.
C C++ python java ruby ...
아무 언어도 관계 없습니다.
터미널에 컬러 나오게 하는 건 따로 표준 규약이 있어 표준 출력으로 그냥 규약에 맞게 쏘면 돼. 나도 깊게 몰라 알아서 찾으세요.
터미널에서 특수하게 생각하는 일련의 코드가 있습니다. 이걸로 감싸서 문자열을 출력하면 그것을 이해하는 터미널은 적당한 컬러로 바꿔서 출력을 해줍니다.
escape color code 같은 검색어로 시도를 해보세요.
반말 너무 많이 써서 수정 함
-- 마잇
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
ANSI 코드를 사용하던가, 아님 curses 라이브러리를 사용하던가 하
ANSI 코드를 사용하던가, 아님 curses 라이브러리를 사용하던가 하면 됩니다.
^^;;;
이런 식으로 하시면 붉게 'Amazing kiss'라고 터미널로 출력이
이런 식으로 하시면 붉게 'Amazing kiss'라고 터미널로 출력이 됩니다.
혹시 위의 코드 C 버전은 없는지요? ^^
혹시 위의 코드 C 버전은 없는지요? ^^
언제쯤 정규표현식을 정복할 수 있을까? ㅡㅡ;
[quote="i_wish_awk_sed_perl"]혹시 위의 코드 C
C 버전이라고 뭐 다를 게 있나요... 출력함수만 바꾸면 됩니다.
위의 코드는 C가 아닌가 요 ㅠ,.ㅜ 쉘스크립트 같지도 않고 펄같
위의 코드는 C가 아닌가 요 ㅠ,.ㅜ
쉘스크립트 같지도 않고 펄같지도 않은데 ~
메일 : nan1004au@gmail.com
[quote="nan1004au"]위의 코드는 C가 아닌가 요 ㅠ,.ㅜ
C++ ....
---
http://coolengineer.com
[quote="illuza"]이런 식으로 하시면 붉게 'Amazing k
좋은 정보 하나 얻어 가는군요. 감사합니다. :D
[quote="illuza"]이런 식으로 하시면 붉게 'Amazing k
이런 식으로 프로그래밍하면 호환성이 떨어집니다. *nix 프로그래머에겐 호환성이 생명입니다!
다음코드에서 질문있습니다.
위의 코드에서 tty_color 을 호출하지도 사용하지도 않았는데 다음과 같은 결과가 나옵니다.
0 번은 검은색 부터 16 번은 하얀색 까지..각각 색깔별로 나오네요...
tty_color 는 사용한적이 없는데 어케 된거 일까요? 궁금합니다.
아울러서 호환성이 떨어진다는 말은 무슨말인가요?
ANSI color 이므로 ANSI 를 지원하는 시스템에서는 다 되는거 아닌가요?
정보공유는 자신감의 표현입니다
원래 C 표준라이브러리에는 색갈있는 글자 출력 기능은 없습니다.저
원래 C 표준라이브러리에는 색갈있는 글자 출력 기능은 없습니다.
저런건 터미널을 직접 제어하는 방법으로 해야 하는데, 그것들은
특별히 정해진 표준이 없다는게 문제죠. ncurses 라이브러리도
C 표준 라이브러리에는 들어가지도 않고요.
vi 처음 만들 당시 제작자들은 여러가지 터미널이 난무해서 이거 드라이버
만드느라고 고생했다고 하더군요.
Written By the Black Knight of Destruction
Re: 다음코드에서 질문있습니다.
LOGO[0] 만 쓸 수 있는데 LOGO[1] 이상을 쓰니 다른 메모리 영역을 침범하게 된 겁니다. 우연히 LOGO[1]의 주소가 tty_color[0]의 주소와 같은 값이 되었을 뿐입니다. :evil:
있네요 이거말씀하신건가요
http://pungryu0507.tistory.com/m/entry/C%EC%96%B8%EC%96%B4-%EC%BD%98%EC%86%94-%EA%B8%80%EC%9E%90-%EC%83%89%EA%B9%94-%EB%84%A3%EA%B8%B0
이 양반들 답답하시네. 터미널에 컬러 출력하는 건
터미널에 컬러 출력하는 건 사용하시는 언어하고는 전혀 관계 없습니다.
당신이 무엇을 출력하든 사용자가 보는 결과는 사용자가 쓰는 터미널에 달려있지.
컬러를 찍으실 것이면 컬러를 제대로 지원하는 - 256 컬러 이상 - 터미널 클라이언트에 대해서 실험을 하세요.
C
C++
python
java
ruby
...
아무 언어도 관계 없습니다.
터미널에 컬러 나오게 하는 건 따로 표준 규약이 있어 표준 출력으로 그냥 규약에 맞게 쏘면 돼. 나도 깊게 몰라 알아서 찾으세요.
터미널에서 특수하게 생각하는 일련의 코드가 있습니다. 이걸로 감싸서 문자열을 출력하면 그것을 이해하는 터미널은 적당한 컬러로 바꿔서 출력을 해줍니다.
escape color code 같은 검색어로 시도를 해보세요.
반말 너무 많이 써서 수정 함
--
마잇
댓글 달기