모종닷컴

<conio.h>, <windows.h>, 그리고 goto 함수 본문

Programming/C

<conio.h>, <windows.h>, 그리고 goto 함수

모종 2017. 7. 7. 01:45
반응형

학교 기말 과제로 팀 프로젝트를 하게되었다.


c/c++ 로 간단한 게임을 구현하는 프로젝트였는데 c/c++ 로 게임을 만들 때 자주 사용할 만한 


헤더 중에서도 <conio.h>, <windows.h>, goto함수 까지 한번 알아 보았다.



<conio.h>


conioconsole and port I/O 약자이며 이 헤더파일은 윈도우즈에서만 쓸 수 있는 비표준함수들이 들어있다.


대표적인 함수 중에


int kbhit() 

버퍼에 값이 있으면 1을 없으면 0을 리턴한다.


*한 마디로 정리하면 입력이 있었는지 없었는 지 판단하는 함수이다.

 

int getch()


버퍼에 있는 값을 꺼내오는 역할을 한다. 


kbhit ==1  -> getch()  이런 식으로 사용하면 될 것 같다.





<windows.h>


콘솔창을 이용하여 무엇인가를 하고 싶을 때 사용하는 함수이다.


대표적인 함수로 system("cls")와 sleep() 함수가 있다.


비주얼 스튜디오에서 System()함수는 운영체제(도스창) 명령어를 실행시키는 함수.




gotoxy() - 커서 옮기기

 

gotoxy 함수는 비주얼 스튜디오에서 직접적으로 사용 못하기 때문에 도스창에서 커서 이동을 수행하는 함수를 구현해 놓은 것으로 그 옛날 MS-DOS 시절 turbo C에서 제공했던 gotoxy를 그대로 구현한 것.


코드는 다음과 같습니다


void gotoxy(int x,int y){

COORD pos;    

pos.x = x;

pos.y = y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);

}


좀 더 깊게 알고 싶으신 분들은 COORD 구조체, SetConsoleCursorPosition(), GetStdHandle()에 대하여 좀 더 알아보면 좋을 것 같습니다.




-끗-

반응형