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.0080 sec