컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Tuesday, June 13, 2006

[C언어/C++] 비주얼C로 콘솔 글자 색깔 변경, 볼랜드C++의 textcolor() 함수 구현


볼랜드C는 textcolor() 함수 등으로, 텍스트 모드의 글자들의 색을 바꿀 수 있지만, 비주얼C에는 textcolor() 함수가 없습니다. 그렇지만 여기서 소개하는 방법으로 색을 변경할 수 있습니다:

(Windows.h 라는 헤더파일이 필요합니다. 비주얼 스튜디오가 설치되어 있다면 Windows.h 도 있겠지만, "Visual C++ 2003 의 무료 버전" 을 설치하면 그 안에 Windows.h 가 없는데, Platform SDK 안에 Windows.h 가 들어 있습니다. Platform SDK 도 무료로 다운이 가능합니다.)

결과:
비주얼C로 텍스트 모드의 글자 색상 변경



코드: 아래의 코드를 0.cpp 등의 이름으로 저장하여 컴파일하면 위의 그림과 같이 글자의 색깔이 바뀝니다.
#include <stdio.h>
#include <Windows.h>

int main() {

  // 밝은 청색
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_INTENSITY);
  puts("Light Blue");

  // 밝은 녹색
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_INTENSITY);
  puts("Light Green");

  // 밝은 시안
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
  puts("Light Aqua (Cyan)");

  // 밝은 적색
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_INTENSITY);
  puts("Light Red");

  // 밝은 마젠타
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
  puts("Light Purple (Magenta)");

  // 밝은 황색
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY);
  puts("Light Yellow");

  // 밝은 백색
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
  puts("Bright White");

  // 원래의 회색 글자로
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
  puts("Gray (System Default)");

  return 0;
}




참고로, 볼랜드C의 경우 textcolor() 는, conio.h 헤더파일에 정의되어 있습니다. textcolor()로 색을 지정하고 cprintf()로 글자를 출력해야만 색이 바뀝니다. 그냥 printf() 로는 안될 겁니다.





여기서 소개한 코드를 실용적인 유틸리티로 만든 것이 여기에 있습니다: [C언어] COLOR 명령 확장: 명령프롬프트 글자색 변경 유틸리티 setclr.exe 만들기



더 읽기: C/C++

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top