簡體   English   中英

gotoxy()用戶定義的函數,在c ++中

[英]gotoxy() user defined function in c++

我在課程中已經讀到gotxy()是預定義的函數,但不適用於Microsoft Visual 2013.so,我進行了一些搜索,得到了可以正常工作的那段代碼,但是我必須理解它。詳細解釋。

void gotoxy(int x, int y)
{
HANDLE hConsoleOutput;
COORD dwCursorPosition;

cout.flush();
dwCursorPosition.X = x;
dwCursorPosition.Y = y;
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput, dwCursorPosition);
}

我認為,您的課程材料已經過時了約30年,並且針對的是DOS,甚至不是Windows 1.0。

無論如何,您現在擁有的功能是仍然可以在現代Windows系統上使用的實現,即使它已經過期約20年了。

第一行定義HANDLE hConsoleOutput; 它無法初始化變量,應按以下方式完成: HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); 稍后需要此句柄。

第二行定義坐標位置COORD dwCursorPosition; 同樣的問題,應該已經初始化了: COORD dwCursorPosition = { x,y };

cout.flush()確保在調用之前將所有舊輸出寫入舊光標位置。

接下來的三個語句將修復未初始化的變量,如果正確完成,則不需要該語句。 最后,最后一個調用完成了告訴Windows接下來要打印的位置的實際工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM