IT

백준 C/C++에서 windows.h 컴파일에러: gotoxy()

KimCookieYa 2021. 7. 7. 00:49

 백준은 리눅스 환경에서 코드를 돌리기 때문에, #include <windows.h>를 쓸 수 없다. 그러나 문제를 풀다보면, gotoxy()와 같은 커서이동함수를 쓰거나 콘솔창을 만지는 일이 생긴다. 

 

// C/C++에서 커서를 이동시키는 gotoxy()함수.
#include <windows.h>

void gotoxy(int x, int y) {
	COORD pos;
	pos.X = x;
	pos.Y = y;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}

 

 그럴 때는 백준/리눅스 환경에 출력할 수 있는 문법을 익혀야 한다.

 

// 리눅스 환경에서의 gotoxy()함수.
void gotoxy(int x, int y) {
    printf("\033[%d;%df",y,x);
    fflush(stdout);
}