C语言编程中,怎样在屏幕上定位光标?

如题所述

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

C语言编程中,怎样在屏幕上定位光标?
其次,可以定义一套标准的库函数,并使编译程序的开发者在他的编译程序中实现这套函数。流行的Curses软件包就起源于这种思路。在大多数计算机和编译程序中都可以使用Curses,因此,用Curses实现屏幕输出的程序在大多数计算机和编译程序中都可以工作。第三,你可以利用这样一个事实,即你想打印到其上的设备会...

C语言定位光标
printf("定位光标位置(%d,%d)\\n",pos.X,pos.Y);return 0;}

C语言光标移动
GetStdHandle()函数获得标准输入输出的句柄,参数STD_OUTPUT_HANDLE是个宏,代表标准输出,可以看作显示器 SetConsoleCursorPosition(hout,coord); 看函数名称:设置控制台光标坐标,参数就是设备句柄,坐标,那么把标准输出的句柄传给函数,就可以把光标定位在对应的位置了(左上角位置是0,0然后向左 向下延...

C语言光标的移动程序是什么 要详细一点
可以用gotoxy函数移动光标。1、函数名:gotoxy 原型:extern void gotoxy(int x,int y);用法:#include 功能:将光标移动到指定位置说明:gotoxy(x,y)将光标移动到指定行y和列x。设置光标到文本屏幕的指定位置,其中参数x,y为文本屏幕的坐.

C语言中,控制光标位置的那个超长函数是神马,怎么用
void gotoxy(int x, int y)\/\/设置光标位置 { COORD pos = {x,y};SetConsoleCursorPosition(hConsole, pos);} 就是这样了

C语言鼠标操作
SetConsoleCursorPosition函数可以定位光标位置,也就是文字内容显示的起点。ReadConsoleInput(HANDLE hConsoleInput,*INPUT_RECORD lpBuffer,DWORD nLength,DWORD lpNumberOfEventsRead)函数可以获取鼠标的操作信息。调用过上面函数后,lpBuffer由于是传址,所以其地址里的值就包含了鼠标信息。lpBuffer.EventType...

C语言如何获得光标位置?
本人试过可以。HANDLE gh_std_out;gh_std_out = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_SCREEN_BUFFER_INFO bInfo;GetConsoleScreenBufferInfo(gh_std_out,&bInfo);bInfo.dwCursorPosition.Y bInfo.dwCursorPosition.X 就是行列数了,int类型的哦。

c语言怎么移动光标Xcode系统
将光标移动到前一行control+N:将光标移动到后一行control+A:将光标移动到本行的行首control+N:将光标移动到本行的行尾control+T:将光标两边的字符对调control+D:删除光标右边的字符control+k:删除光标所在行光标后面的代码,便于你重写行尾代码control+L:将光标插点置于窗口正中。

C语言控制台中怎么能获取光标当前的坐标值呢?
C语言控制台中怎么能获取光标当前的坐标值呢? 请问C编控制台程序的时候,用哪个函数能获取光标当前的坐标值呢?... 请问C编控制台程序的时候,用哪个函数能获取光标当前的坐标值呢? 展开  我来答 分享 微信扫一扫 网络繁忙请稍后重试 新浪微博 QQ空间 举报 浏览11 次 可选中1个或多个下面的关键词,搜索...

C语言如何让printf在屏幕指定位置输出数据?
可以参考下面的代码:include<stdio.h> include<windows.h> void main(){ int row=3, col=1 system("cls");for (i=0;i<row;i++)printf("\\n");for (j=0;j

相似回答