现在在一个程序中需要使用光标控制函数,却发现已经取消了gotoxy函数。
在网上搜了一下,一般在windows下采用windows api封装,这里就不介绍了。
linux下有一个库可以方便的实现光标控制,但使用起来较麻烦,我找到了一个简单的做法,效果还不错。
#define
MAX_SCREEN_AREA 100
void Gotoxy( int x, int y)
{
char essq[MAX_SCREEN_AREA]={0}; // String variable to hold the escape sequence
sprintf(essq, "\033[%d;%df", y,x);
printf("%s", essq);
}
void clrscr()
{
printf( "\033[2J" );
}
原理很简单,就是输出终端协议vt100的光标控制命令,从而得到相应的效果。
void Gotoxy( int x, int y)
{
char essq[MAX_SCREEN_AREA]={0}; // String variable to hold the escape sequence
sprintf(essq, "\033[%d;%df", y,x);
printf("%s", essq);
}
void clrscr()
{
printf( "\033[2J" );
}