본문 바로가기

C언어/테트리스

[C언어] 콘솔창에 출력되는 글자색 바꾸는 방법

안녕하세요!!

오늘은 콘솔 창에 출력된 글자들의

글자 색을 변경하는 함수를 알려드리겠습니다

 

 

 


선언 해야 할 헤더 파일, 함수 선언

 

다만, 함수를 사용하기 위해선 

Windows.h 헤더파일을 선언해주어야 합니다!!

#include <Windows.h>

헤더 파일 선언 후

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum); 

이 함수를 선언 후

color_number에 원하는 색깔의 int형 숫자를 입력하면 되는데요.

 


컬러 변경 쉽게 할 수 있도록 함수 선언

 

자주 이용할 땐 함수로 선언해서,

함수의 매개변수에 원하는 숫자를 입력하는 형식으로 사용합니다.

#include <stdio.h>
#include <Windows.h>
void textcolor(int colorNum) {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}

 


매개변수로 숫자를 지정하면 콘솔창에서 색이 변하는 컬러 번호

 

Number Color Number Color
0   // textcolor(0); Black 1   // textcolor(0); Dark Blue
2   // textcolor(0); Dark Green 3   // textcolor(0); Dark Sky Blue
4   // textcolor(0); Dark Red 5   // textcolor(0); Dark Purple
6   // textcolor(0); Dark Yellow 7   // textcolor(0); Gray
8   // textcolor(0); Dark Gray 9   // textcolor(0); Blue
10   // textcolor(0); Green 11   // textcolor(0); Sky Blue
12   // textcolor(0); Red 13   // textcolor(0); Purple
14   // textcolor(0); Yellow 15   // textcolor(0); White

잠깐!!

글자색 변경에 아주 도움이 되는 한 가지의

꿀 팁이 있습니다.

 


한가지 꿀 팁! enum 선언하기

 

  • enumerated type, 바로 열거형(enum)의 사용인데요!!!!enum 선언하기!
enum ColorType{
BLACK,  	//0
darkBLUE,	//1
Dark Green,	//2
darkSkyBlue,    //3
DarkRed,  	//4
DarkPurple,	//5
DarkYellow,	//6
GRAY,		//7
DarkGray,	//8
BLUE,		//9
GREEN,		//10
SkyBlue,	//11
RED,		//12
PURPLE,		//13
YELLOW,		//14
WHITE		//15
} COLOR;

한번 선언하면

원하는 색깔을 사용할 때마다 

블로그의 글자를 일일이 찾지 않고, 노란색이면 textcolor(YELLOW);

파란색이면 textcolor(BLUE);

이런 식으로 입력하면 상당히 편리합니다.

눈치채셨군요?!

 


enum 활용법

 

 

몇몇 개만 사용하길 원할 때는

enum ColorType{ WHITE=15,GRAY=8, BLUE = 9, GREEN = 10}COLOR;

이런 식으로 선언해도 상당히 편리합니다!!

  • 저런 거 어떻게 사용되나요???

 

어디에 사용될 수 있냐고요??

요런 식이나

이런 색감을 입힐 수 있답니다

(조금의 수고가 필요하지 만요,,)

긴 글 읽어주셔서 감사합니다^^