#includewindows.h

創(chuàng)新互聯(lián)建站主營海安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),海安h5成都小程序開發(fā)搭建,海安網(wǎng)站營銷推廣歡迎海安等地區(qū)企業(yè)咨詢
voidhidecursor()
{
console_cursor_infocursor_info={1,0};
setconsolecursorinfo(getstdhandle(std_output_handle),cursor_info);
}
函數(shù)和結(jié)構(gòu)體都在windows.h中定義,函數(shù)用法簡單就不說了。
console_cursor_info結(jié)構(gòu)體定義如下:
typedefstruct
{dworddwsize;
boolbvisible;//為0時(shí)光標(biāo)不可見
}console_cursor_info,*pconsole_cursor_info;
vc,mingw中均沒問題。
不明白直接hi。
用Win32 API
SetConsoleCursorPosition是API中設(shè)置控制臺光標(biāo)位置的函數(shù)。
#include stdio.h
#include windows.h
int main(void)
{
HANDLE hOut;
COORD pos= {0,2}; /* 光標(biāo)的起始位(第1列,第3行) 0是第1列 2是第3行*/
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
printf("定位光標(biāo)位置(%d,%d)\n",pos.X,pos.Y);
return 0;
}
C語言里面有g(shù)otoxy(x,y)函數(shù)來定位光標(biāo)位置;
但在VC下面沒有conio.h,也就沒有g(shù)otoxy(),只在tc,bc中才有
下面是別人構(gòu)造的一個(gè):
includewindows.h
#includeiostream
using namespace std;
void gotoxy(int x, int y) {
COORD c;
c.X = x - 1;
c.Y = y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
int main()
{
gotoxy(20,12);
std::cout"Hello world!"endl;
return 0;
}
其中的COORD和SetConsoleCursorPosition定義在wincon.h中~
SetConsoleCursorPosition用于在相應(yīng)的設(shè)備設(shè)置光標(biāo)的位置,兩個(gè)參數(shù)分別是設(shè)備句柄和光標(biāo)位置結(jié)構(gòu)。GetStdHandle定義在winbase.h上用于獲得標(biāo)準(zhǔn)輸入、輸出、錯(cuò)誤輸出句柄
當(dāng)參數(shù)標(biāo)識為STD_OUTPUT_HANDLE時(shí)獲得標(biāo)準(zhǔn)輸出句柄
善于使用搜索引擎,搜到的
CROOD就是這樣的一個(gè)玩意:
typedef struct _COORD {
SHORT X;
SHORT Y;
} COORD, *PCOORD;
很明顯這個(gè)結(jié)構(gòu)可以用來記錄坐標(biāo)
GetStdHandle()函數(shù)獲得標(biāo)準(zhǔn)輸入輸出的句柄,參數(shù)STD_OUTPUT_HANDLE是個(gè)宏,代表標(biāo)準(zhǔn)輸出,可以看作顯示器
SetConsoleCursorPosition(hout,coord); 看函數(shù)名稱:設(shè)置控制臺光標(biāo)坐標(biāo),參數(shù)就是設(shè)備句柄,坐標(biāo),那么把標(biāo)準(zhǔn)輸出的句柄傳給函數(shù),就可以把光標(biāo)定位在對應(yīng)的位置了(左上角位置是0,0然后向左 向下延伸)
下面這段代碼可以在屏幕第10行第30列輸出"Hello world"
#include windows.h
#include iostream
using namespace std;
int main()
{
HANDLE hout;
COORD coord;
coord.X=30;
coord.Y=10;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord);
cout"Hello world!\n";
return 0;
}
函數(shù)名:gotoxy
原型:extern void gotoxy(int x, int y);
用法:#include system.h
功能:將光標(biāo)移動(dòng)來到指定自位置
說明:gotoxy(x,y)將光標(biāo)移動(dòng)到指定行y和列x。設(shè)置光標(biāo)到文本屏幕的指定位置,其知中參數(shù)x,y為文本屏幕的坐標(biāo),gotoxy(0,0)將光標(biāo)移動(dòng)到屏幕左上角。
擴(kuò)展資料:
用法舉例
#include conio.h
int main(void)
{ /*gotoxy()的用法*/
//clrscr(); //清除文本模式的窗口
gotoxy(2,1);//在文本窗口中設(shè)置光標(biāo)用(列,行)
cprintf("Hello world");//送格式化輸出至屏幕
getch();
return 0;
}
參考資料來源:百度百科-gotoxy
1.光標(biāo)定位函數(shù):
復(fù)制代碼代碼如下:
#include windows.h
#include conio.h
/****** 光標(biāo)移到指定位置 ********************************/
void gotoxy(HANDLE hOut, int x, int y)
{
COORD pos;
pos.X = x; //橫坐標(biāo)
pos.Y = y; //縱坐標(biāo)
SetConsoleCursorPosition(hOut, pos);
}
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//定義顯示器句柄變量
gotoxy(hOut,20,30); //光標(biāo)定位在坐標(biāo)(20,30)
2.顏色控制:
2.1函數(shù)實(shí)現(xiàn)
復(fù)制代碼代碼如下:
/******設(shè)置文本為綠色 ********************************************/
void Set_TextColor_Green (void)
{
HANDLE Handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(Handle, FOREGROUND_INTENSITY | FOREGROUND_GREEN);
}
文章名稱:c語言控制光標(biāo)的函數(shù),c語言控制光標(biāo)位置
分享URL:http://chinadenli.net/article3/dsshpis.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、云服務(wù)器、網(wǎng)站內(nèi)鏈、做網(wǎng)站、域名注冊、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)