我刚刚在 c 中编写了河内塔的代码,我想使用字符以图形模式显示解决方案。
我想使用 windows.h 和SetConsoleCursorPosition
函数在控制台中移动光标。
你能告诉我这个功能是否有效以及如何使用它来帮助我吗?请举一些例子。
下面是如何调用SetConsoleCursorPosition
函数的示例,取自cplusplus:
void GoToXY(int column, int line)
{
// Create a COORD structure and fill in its members.
// This specifies the new position of the cursor that we will set.
COORD coord;
coord.X = column;
coord.Y = line;
// Obtain a handle to the console screen buffer.
// (You're just using the standard console, so you can use STD_OUTPUT_HANDLE
// in conjunction with the GetStdHandle() to retrieve the handle.)
// Note that because it is a standard handle, we don't need to close it.
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
// Finally, call the SetConsoleCursorPosition function.
if (!SetConsoleCursorPosition(hConsole, coord))
{
// Uh-oh! The function call failed, so you need to handle the error.
// You can call GetLastError() to get a more specific error code.
// ...
}
}
您还可以通过查看 SDK 文档了解如何使用 Win32 函数。谷歌搜索函数的名称通常会在第一次点击时找到相应的文档页面。
因为SetConsoleCursorPosition
,页面在这里,而对于GetStdHandle
,页面在这里。