gpt4 book ai didi

c++ - gotoxy() 用户在 C++ 中定义的函数

转载 作者:行者123 更新时间:2023-11-30 01:54:53 29 4
gpt4 key购买 nike

我在我的类(class)中读到 gotxy() 是一个预定义函数,但它不适用于 Microsoft visual 2013。所以我做了一些搜索,我得到了那段代码,它可以工作,但我必须理解它。所以谁能详细解释一下。

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);
}

最佳答案

我假设您的类(class) Material 已经过时了大约 3 年,并且针对 DOS,甚至不是 Windows 1.0。

无论如何,您现在拥有的功能是一个仍然可以在现代 Windows 系统上运行的实现,尽管它也已经过时了大约 20 年。

第一行定义了HANDLE hConsoleOutput;。它无法初始化变量,应该像这样完成:HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);。稍后需要此句柄。

第二行定义坐标位置COORD dwCursorPosition;。同样的问题,应该已经初始化了:COORD dwCursorPosition = { x,y };

cout.flush() 确保调用之前的所有旧输出都写入旧光标位置。

接下来的三个语句用于修复未初始化的变量,如果操作得当,就没有必要了。最后,最后一个调用真正完成了告诉 Windows 下一步打印到哪里的工作。

关于c++ - gotoxy() 用户在 C++ 中定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21375173/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com