c语言里怎么定位光标

Python08

c语言里怎么定位光标,第1张

设置CMD窗口光标位置

void setxy(int x, int y)  //x,y为光标座标

{

   COORD coord = {x, y}

   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord)

}

C标准并没有提供在屏幕上定位光标的方法,其原因很多。C被设计成能在各种各样的计算机上工作,而其中的许多机型都有不同的屏幕类型。例如,在行式打印终端上,不能向上移动光标;一个嵌入式系统甚至也可能是用c编写的,而在它的应用场合可能根本就没有屏幕。尽管这样,在屏幕上定位光标对你的程序来说还是有用的。你可能希望给用户一个吸引人的视觉效果,并且只能通过移动光标来实现;你还可能想用相应的输出命令尝试一点动画效果。尽管这方面没有标准的处理方法,但还是有好几种方法可以解决这个问题。首先,编译程序的开发者会提供一个函数库,专门处理基于他们的编译程序的屏幕输出操作,其中肯定会有定位光标的函数。但是,很多人认为这是最差的解决办法,因为每一个开发商都可以自由地开发自己的实现方法,所以在一种编译程序上开发的程序,当移到另一种编译程序上时,几乎必然要重写,更别说移到另一种计算机上了。其次,可以定义一套标准的库函数,并使编译程序的开发者在他的编译程序中实现这套函数。流行的Curses软件包就起源于这种思路。在大多数计算机和编译程序中都可以使用Curses,因此,用Curses实现屏幕输出的程序在大多数计算机和编译程序中都可以工作。第三,你可以利用这样一个事实,即你想打印到其上的设备会用一种特定的方式解释你送过去的字符。终端(或屏幕)应设计成按一种标准方式去解释送给它们的字符,这就是ANSI标准。