프로그래밍/C언어

gotoxy()함수를 만들어 써보자.

콘파냐 2014. 2. 18. 21:39

이전 터보C에 있던 함수입니다. 콘솔환경에서 개발하시는분은 거의 안계시지만, C언어를 공부하시고, 콘솔에서 게임을 간단히 만드시려면 필요한데, 쓰는 방법은 워낙 유명합니다. 

윈도우 API를 이용하여 쓰는 방법인데, 간단하게 windows.h 을 include 하신후 다음과 같이 함수를 만들어 쓰시면 됩니다.


첫번째 함수는 settextcolor이고 쓰시는 방법은 settextcolor(1,1) 이런식으로 쓰시면됩니다. 인수에따라 색이 바뀝니다.


두번째 함수는 gotoxy이고 쓰시는 방법은 인수가 좌표고 커서를 그곳에 위치시킵니다.



저같은경우는 아래 함수를 모듈로 만들고 헤더파일을 만들어 인클루드해서 씁니다. 


2014/01/24 - [프로그래밍/C언어] - 분할컴파일 하는법(gcc) c언어




헤더파일에 있는 windows.h 는 없어도 상관없습니다. 전 아래 기능을 사용하기 위해서 인클루드한 것 입니다.

Sleep(1000); //함수는 delay()함수와 같고 1/1000초 단위로 사용할 수 있습니다.(S대문자에 유의)

system("cls"); // 전체화면을 지웁니다.



void settextcolor(int color, int bgcolor)

{

color &=0xf;

bgcolor &=0xf;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),(bgcolor<<4|color));

}


void gotoxy(int x, int y) {

COORD Pos={x,y};

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);

}

C언어를 배우는 차원에서 이전 도스에서 사용하는 시스템 함수들을 윈도우api를 이용해서 사용하는구나 정도만 아시면 됩니다.

 

반응형