E D R , A S I H C RSS

Windows Console Control

터보 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;
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:26
Processing time 0.0088 sec