4

我刚刚在 c 中编写了河内塔的代码,我想使用字符以图形模式显示解决方案。

我想使用 windows.h 和SetConsoleCursorPosition函数在控制台中移动光标。

你能告诉我这个功能是否有效以及如何使用它来帮助我吗?请举一些例子。

4

1 回答 1

9

下面是如何调用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,页面在这里

于 2013-04-02T17:55:54.383 回答