터보 C를 사용할때는 라이브러리로 콘솔제어를 쉽게 하는 함수들이 존재하였다. MS의 콘솔을 배제하는 정책 때문인지 함수는 존재하지만, 불편한 인터페이스를 그대로 유지하고 있는데, 이를 살작 추상화 시키는 간단한 소스들이다.

util.h


~cpp 
#ifndef _UTIL_H_
#define _UTIL_H_

#include <windows.h>
#include <stdio.h> 

// n/1000초만큼 시간을 실행을 중지한다.
#define delay(n) Sleep(n)

// 난수 발생기 초기화
#define randomize() srand((unsigned)time(NULL))

//0~n까지의 난수 발생
#define random(n) (rand() % (n))

//원형
void cls();
void gotoxy(int x, int y);
int wherex();
int wherey();

#endif


util.cpp

~cpp 
#include "util.h"
// 화면을 모두 지운다.
void cls()
{
   system("cls");
}


// 커서를 x,y좌표로 이동시킨다.
void gotoxy(int x, int y)
{
   COORD Cur;
   Cur.X=x;
   Cur.Y=y;
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur);
}
 
// 커서의 x 좌표를 조사한다.
int wherex()
{
   CONSOLE_SCREEN_BUFFER_INFO BufInfo;
 
   GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
   return BufInfo.dwCursorPosition.X;
}

// 커서의 y좌표를 조사한다.
int wherey()
{
   CONSOLE_SCREEN_BUFFER_INFO BufInfo;

   GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
   return BufInfo.dwCursorPosition.Y;
}
Retrieved from http://wiki.zeropage.org/wiki.php/WindowsConsoleControl
last modified 2021-02-07 05:28:26