콘솔 환경설정
C언어나 C++을 사용하여 콘솔 개발을 할 때가 많은데 콘솔도 환경설정값이 있어 개발자가 원하는 세팅을 해줄 수 있습니다. 다만 소스코드를 삽입한게 아니라 단순 환경설정이므로 내 PC한정입니다.
1. 콘솔창에 우클릭을 하게 되면 위와 같이 기본값이라는 항목이 있는데 클릭해서 콘솔 창 속성에 들어갑니다.
2. 콘솔 창 속성에서 콘솔의 글꼴과 크기, 창 크기와 색상변경 등 다양한 옵션값을 줄 수 있습니다. 자신만의 스타일로 콘솔창을 꾸며보세요.
명령어 사용
하나의 소스코드로 모든 디바이스의 콘솔 형태를 맞춰주고 싶다면 windows 헤더파일에 있는 함수들을 활용하여야 합니다.
#include <windows.h>
콘솔창 크기 변경
//col = 가로, lines = 세로
system("mode con:cols=100 lines=10");
콘솔창의 크기를 임의로 지정해줄 수 있습니다. (cols : 가로 / lines : 세로)
콘솔창 제목 변경
SetConsoleTitle("제목");
콘솔창의 제목을 설정할 수 있습니다.
콘솔창 색상 변경
system("color 42");
system("color 바꿀 숫자번호) 이렇게 명령을 주게되면 콘솔창의 배경 색상이 바뀝니다.
콘솔창 폰트 색상 변경
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 1);
변경하고 싶은 텍스트가 출력되기 전 위의 코드를 넣으면 됩니다. 또한 인자값의 숫자를 변경하면 다른 색상으로 변경이 가능합니다. 색상별 번호는 아래와 같습니다.
색깔 | 숫자 |
검정 | 0 |
어두운 파랑 | 1 |
어두운 초록 | 2 |
어두운 하늘 | 3 |
어두운 빨강 | 4 |
어두운 보라 | 5 |
어두운 노랑 | 6 |
회색 | 7 |
어두운 회색 | 8 |
파랑 | 9 |
초록 | 10 |
하늘 | 11 |
빨강 | 12 |
보라 | 13 |
노랑 | 14 |
하양 | 15 |
폰트 색상 변경 함수 만들기
#include <stdio.h>
#include <windows.h>
//색상
enum {
BLACK,
DARK_BLUE,
DARK_GREEN,
DARK_SKYBLUE,
DARK_RED,
DARK_VOILET,
DAKR_YELLOW,
GRAY,
DARK_GRAY,
BLUE,
GREEN,
SKYBLUE,
RED,
VIOLET,
YELLOW,
WHITE,
};
// 콘솔 텍스트 색상 변경해주는 함수
void setColor(unsigned short text) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), text);
}
void main() {
setColor(RED); //text : RED
printf("Hi\n");
setColor(VIOLET); //text : VIOLET
printf("Hello\n");
setColor(GREEN); //text : GREEN
printf("Good Morning\n");
setColor(GRAY); //text : GRAY
printf("Good Afternoon\n");
setColor(GREEN); //text : GREEN
printf("Good Evening\n");
setColor(WHITE); //text : WHITE
printf("Good Night\n");
}
폰트의 색상은 0 ~ 15까지의 숫자로 나열되어있습니다. 위의 예제처럼 enum으로 색상들을 나열해놓고 골라쓴다면 콘솔창을 예쁘게 꾸밀 수 있습니다.
콘솔창 폰트 배경색 변경
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED);
SetConsoleTextAttribute함수에서 인자값으로 BACKGROUND_(변경 할 색상)을 인자값으로 주면 폰트의 배경 색상을 줄 수도 있습니다.
'Language > C , C++ , C#' 카테고리의 다른 글
[C언어/C++] 키보드 입력 받기 (getch, kbhit) 함수 사용법 & 예제 (2) | 2021.02.04 |
---|---|
[C언어/C++] 콘솔 화면 지우기(초기화) (0) | 2021.02.03 |
[C언어/C++] Sleep(딜레이) 함수 사용법 (잠시 멈춤) (0) | 2021.02.02 |
[C언어/C++] 상수 선언하기 const, define의 차이점 (0) | 2021.02.01 |