1. ANSI 이스케이프 코드 사용
ANSI 이스케이프 코드를 이용해 터미널 출력에 색상을 적용할 수 있다
다음과 같이 코드에 #define 문을 넣어주고 색상을 넣어주고 싶은 텍스트 앞에 색상을 입력해 주면 된다
#include <iostream>
#define RESET "\x1b[0m"
#define BLACK "\x1b[30m"
#define RED "\x1b[31m"
#define GREEN "\x1b[32m"
#define YELLOW "\x1b[33m"
#define BLUE "\x1b[34m"
#define MAGENTA "\x1b[35m"
#define CYAN "\x1b[36m"
#define WHITE "\x1b[37m"
using namespace std;
int main(){
//GREEN Text 적용
cout << GREEN << "Green Text\n";
//Red Text 적용
cout << RED << "Red Text\n";
//Reset되어 일반 색상 적용
cout << RESET;
return 0;
}
2. Window.h 사용
window.h 안에 내장되어 있는 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum) 함수를 이용했다
아래 코드에서는 colorNum의 값들을 사용자가 인식할 수 있도록 ColorType의 열거형을 만들었고, SetColor 함수를 만들어 색상 변경할 때 내장되어 있는 긴 함수를 이용하지 않도록 했다
#include <Window.h>
#include <iostream>
enum ColorType{
BLACK, //0
DarkBLUE, //1
DarkGreen, //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;
// 색상 입히는 함수를 편하게 사용하기 위한 함수
void SetColor(int colorNum){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorNum);
}
int main(){
// 아래 cout부터 GREEN 색상 적용됨
SetColor(GREEN);
cout << "Green Text\n";
// 아래 cout부터 RED색상 적용됨
SetColor(RED);
cout << "Red Text\n";
// 아래 cout부터 WHITE 색상 적용됨
SetColor(WHITE);
return 0;
}
3. 출력 화면
사용 방식은 ANSI 이스케이프 코드를 활용하는 방법이 간편한 것 같아 해당 방법을 자주 사용할 것 같다

'C++' 카테고리의 다른 글
| [C++] 시프트 연산자 - 논리 시프트, 산술 시프트 (1) | 2025.07.14 |
|---|---|
| [C++] System() 함수 - "cls" , "pause" (0) | 2025.06.13 |
| [C++] 얕은 복사 vs 깊은 복사 (1) | 2025.06.12 |
| [C++] 스마트 포인터(Smart Pointer) 개념 정리 (0) | 2025.06.12 |
| [C++] 헤더파일 중복방지 #Pragma once vs #ifndef ~ endif (0) | 2025.06.10 |