typedef struct _CONSOLE_CURSOR_INFO {
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的承留網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
DWORD dwSize; //光標(biāo)的高度,控制臺一行字符的高度為100,光標(biāo)的高度為1到100
BOOL bVisible; //是否顯示光標(biāo),TRUE為顯示,F(xiàn)ALSE為不顯示
} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO
CONSOLE_CURSOR_INFO cursor_info = {1, 0};這一句可以看出,bVisible字段為FALSE,表示不顯示光標(biāo)。
GetStdHandle(STD_OUTPUT_HANDLE)這個是獲取標(biāo)準(zhǔn)輸出(控制臺)的句柄
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), cursor_info);這句就是讓標(biāo)準(zhǔn)輸出(控制臺)影藏光標(biāo)。
函數(shù)名:gotoxy
原型:extern void gotoxy(int x, int y);
用法:#include system.h
功能:將光標(biāo)移動來到指定自位置
說明:gotoxy(x,y)將光標(biāo)移動到指定行y和列x。設(shè)置光標(biāo)到文本屏幕的指定位置,其知中參數(shù)x,y為文本屏幕的坐標(biāo),gotoxy(0,0)將光標(biāo)移動到屏幕左上角。
擴(kuò)展資料:
用法舉例
#include conio.h
int main(void)
{ /*gotoxy()的用法*/
//clrscr(); //清除文本模式的窗口
gotoxy(2,1);//在文本窗口中設(shè)置光標(biāo)用(列,行)
cprintf("Hello world");//送格式化輸出至屏幕
getch();
return 0;
}
參考資料來源:百度百科-gotoxy
C語言里面有g(shù)otoxy(x,y)函數(shù)來定位光標(biāo)位置;
但在VC下面沒有conio.h,也就沒有g(shù)otoxy(),只在tc,bc中才有
下面是別人構(gòu)造的一個:
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)的位置,兩個參數(shù)分別是設(shè)備句柄和光標(biāo)位置結(jié)構(gòu)。GetStdHandle定義在winbase.h上用于獲得標(biāo)準(zhǔn)輸入、輸出、錯誤輸出句柄
當(dāng)參數(shù)標(biāo)識為STD_OUTPUT_HANDLE時獲得標(biāo)準(zhǔn)輸出句柄
善于使用搜索引擎,搜到的
CROOD就是這樣的一個玩意:
typedef struct _COORD {
SHORT X;
SHORT Y;
} COORD, *PCOORD;
很明顯這個結(jié)構(gòu)可以用來記錄坐標(biāo)
GetStdHandle()函數(shù)獲得標(biāo)準(zhǔn)輸入輸出的句柄,參數(shù)STD_OUTPUT_HANDLE是個宏,代表標(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;
}