如何使用 SetConsoleCursorPosition 函数
Posted
技术标签:
【中文标题】如何使用 SetConsoleCursorPosition 函数【英文标题】:How To Use SetConsoleCursorPosition Func 【发布时间】:2013-04-02 17:52:16 【问题描述】:我刚刚用 c 编写了河内之塔的代码,我想用字符在图形模式下展示解决方案。
我想使用 windows.h 和 SetConsoleCursorPosition
函数在控制台中移动光标。
你能告诉我这个功能是否有效以及如何使用它吗?请举一些例子。
【问题讨论】:
【参考方案1】:这里是一个如何调用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
,页面为here,对于GetStdHandle
,页面为here。
【讨论】:
次要问题:但每个人的谷歌搜索结果排序都不同,这取决于他们的搜索历史。 我几乎每天都会删除我的 cookie。 cplusplus?寻找有关 Win32 函数的信息的地方真是太奇怪了。 the documentation for the function he asks about 会有什么问题? 没有例子,这对初学者来说并不简单。但总的来说,您是对的,API 文档始终是一个很好的起点。 谢谢。我如何以图形方式使用它?我的意思是展示一些东西?在这里我们应该为河内塔采取行动。以上是关于如何使用 SetConsoleCursorPosition 函数的主要内容,如果未能解决你的问题,请参考以下文章
如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]
如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?