-
[C/C++] 커서의 좌표값 알아내기, 좌표값으로 커서 보내기프로그래밍 공부/C, C++ 2022. 11. 4. 21:44728x90
콘솔 프로젝트를 위해 커서의 좌표값을 알아내거나, 좌표값으로 커서를 보낼 일이 필요했다.
즉, 엔터나 탭을 이용하지 않고 원하는 장소로 보내거나, 콘솔의 어느 위치에 캐릭터가 있는지를 파악하여야 했다.
1. 좌표값을 알아내는 함수 만들기
x값과 y값을 따로 출력할 필요성이 있었고, 자주 사용할 예정이었기에 함수로 만들었다.
#include <Windows.h> int returnXY(int XorY) { //Windows 헤더 파일에 CONSOLE_SCREEN_BUFFER_INFO이란 구조체가 저장되어 있다. CONSOLE_SCREEN_BUFFER_INFO wherecurser; //현재 커서의 위치 정보를 저장하는 함수 GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &wherecurser); switch (XorY) { case 0: return wherecurser.dwCursorPosition.X; break; case 1: return wherecurser.dwCursorPosition.Y; break; default: break; } }
2. 좌표값으로 이동하는 함수 만들기
이 역시 자주 사용할 듯하여 함수화시켰다.
void Common::gotoxy(int x, int y) { COORD pos = { x,y }; //커서 이동 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); }
728x90'프로그래밍 공부 > C, C++' 카테고리의 다른 글
[C/C++] 더블 버퍼 없이 콘솔 깜빡임 줄이기 (0) 2022.11.04 [C/C++] 콘솔(cmd) 화면 세팅 (0) 2022.11.04 [C/C++] 키보드 입력 받기. getch, kbhit 함수 (0) 2022.11.04 [C/C++] 템플릿 (0) 2022.11.04 [C/C++] STL 맵 (0) 2022.11.04