VC下控制台中的游標定位和清屏

2021-07-25 09:07:10 字數 1520 閱讀 8437

#include

#include

#include

#include "base64.h"

#include "writelog.h"

#include

//#include

using namespace std;  

void   clrscr(int x,int y)  

;//設定清屏後游標返回的螢幕左上角座標  

bool bsuccess;  

dword ccharswritten;  

console_screen_buffer_info   csbi;//儲存緩衝區資訊

dword   dwconsize;//當前緩衝區可容納的字元數  

bsuccess=getconsolescreenbufferinfo(hconsole,&csbi);//獲得緩衝區資訊  

//perr(bsuccess,"getconsolescreenbufferinfo");  

dwconsize=(csbi.dwsize.x-x)   *   (csbi.dwsize.y-24);//(緩衝區容納字元數目)要清空的面積,x是列數減去6列,y預設是25,減去

//24等於1,x預設是80減去6等於74,因為游標定位在第0行第6列,所以就是

//清空第0行的第7列開始到第0行的結尾

//dwconsize=csbi.dwsize.x * csbi.dwsize.y;

//用空格填充緩衝區  

bsuccess=fillconsoleoutputcharacter(hconsole,(tchar)' ',dwconsize,coordscreen,&ccharswritten);  

//perr(bsuccess,"fillconsoleoutputcharacter");  

bsuccess=getconsolescreenbufferinfo(hconsole,&csbi);//獲得緩衝區資訊  

//perr(bsuccess,"consolescreenbufferinfo");  

//填充緩衝區屬性  

bsuccess=fillconsoleoutputattribute(hconsole,csbi.wattributes,dwconsize,coordscreen,&ccharswritten);  

//perr(bsuccess,"fillconsoleoutputattribute");  

//游標返回螢幕左上角座標  

bsuccess=setconsolecursorposition(hconsole,coordscreen);  

//perr(bsuccess,"setconsolecursorposition");  

return;  

}  void gotoxy(int x,int y)  

;  setconsolecursorposition(hconsole,coordscreen);

return;  

}  int main(void)

VC控制台定位游標

gotoxy 是 tc 下用來實現游標定位的函式,經常有人問起 vc 下怎麼實現游標定位。很可惜,vc 下面沒有同名函式,不過有實現同樣功能的 api 可呼叫,只是稍微麻煩一些。封裝成 tc 同樣的介面可以這麼做 include include void gotoxy int x,int y set...

linux下游標定位和清屏函式

printf 033 47 31mhello world 033 5m 47是字背景顏色,31是字型的顏色,hello world是字串.後面的 033 5m是控制碼.顏色 quote 字背景顏色範圍 40 49 字顏色 30 39 40 黑 30 黑 41 紅 31 紅 42 綠 32 綠 43 ...

linux下游標定位和清屏函式

printf 033 47 31mhello world 033 5m 47是字背景顏色,31是字型的顏色,hello world是字串.後面的 033 5m是控制碼.顏色 quote 字背景顏色範圍 40 49 字顏色 30 39 40 黑 30 黑 41 紅 31 紅 42 綠 32 綠 43 ...