如何将光标定位在屏幕上?

我是编程新手,目前正在学习C中的数组。我正在制作一个拼图,其中包含15个编号方块,安装在一个框架上,一个是空的。它允许用户按任意箭头键(向上,用户将继续按箭头键,直到数字没有按升序排列。这些部分可以水平和垂直移动。 我的问题是我不知道如何定位光标。我知道一个库函数gotoxy(),但我认为它在Turbo C / C ++中使用。我正在使用Code Blocks.I在Google上搜索但是却无法得到结果。是的我正在谈论键盘光标和使用窗口OS.Please帮助! 🙂

在过去,MS / DOS使用特殊的驱动程序ANSI.SYS来模拟ANSI命令代码。 看起来这个好的旧驱动程序在Windows XP下可用(但你需要在config.sys中配置它),但我发现一些文章说它不再适用于Windows 7及更高版本。

所以ANSI(或vt100或vt220)代码在Linux或Unix终端中很有用,但在Windows下,我的建议是直接使用Wincon.h中声明的Windows API控制台函数 – 但是在使用Windows时你应该总是包含Windows.h API函数。

您将需要使用Windows SDK作为参考,但这是一个在15,5位写入foo_bar的小程序:

 #include  #include  // compatibility 8/16 bits characters int _tmain(int argc, const LPSTR *argv) { HANDLE hStdOut = ::GetStdHandle(STD_OUTPUT_HANDLE); // console output handle COORD dwCursorPosition; DWORD nb; dwCursorPosition.X = 15; dwCursorPosition.Y = 5; ::WriteConsoleOutputCharacter(hStdOut, _T("foo_bar"), 7, dwCursorPosition, &nb); return 0; } 

参考:MSDN上的控制台参考