typedef struct _CONSOLE_CURSOR_INFO {
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都网站建设、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的承留网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
DWORD dwSize; //光标的高度,控制台一行字符的高度为100,光标的高度为1到100
BOOL bVisible; //是否显示光标,TRUE为显示,FALSE为不显示
} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO
CONSOLE_CURSOR_INFO cursor_info = {1, 0};这一句可以看出,bVisible字段为FALSE,表示不显示光标。
GetStdHandle(STD_OUTPUT_HANDLE)这个是获取标准输出(控制台)的句柄
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), cursor_info);这句就是让标准输出(控制台)影藏光标。
函数名:gotoxy
原型:extern void gotoxy(int x, int y);
用法:#include system.h
功能:将光标移动来到指定自位置
说明:gotoxy(x,y)将光标移动到指定行y和列x。设置光标到文本屏幕的指定位置,其知中参数x,y为文本屏幕的坐标,gotoxy(0,0)将光标移动到屏幕左上角。
扩展资料:
用法举例
#include conio.h
int main(void)
{ /*gotoxy()的用法*/
//clrscr(); //清除文本模式的窗口
gotoxy(2,1);//在文本窗口中设置光标用(列,行)
cprintf("Hello world");//送格式化输出至屏幕
getch();
return 0;
}
参考资料来源:百度百科-gotoxy
C语言里面有gotoxy(x,y)函数来定位光标位置;
但在VC下面没有conio.h,也就没有gotoxy(),只在tc,bc中才有
下面是别人构造的一个:
includewindows.h
#includeiostream
using namespace std;
void gotoxy(int x, int y) {
COORD c;
c.X = x - 1;
c.Y = y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
int main()
{
gotoxy(20,12);
std::cout"Hello world!"endl;
return 0;
}
其中的COORD和SetConsoleCursorPosition定义在wincon.h中~
SetConsoleCursorPosition用于在相应的设备设置光标的位置,两个参数分别是设备句柄和光标位置结构。GetStdHandle定义在winbase.h上用于获得标准输入、输出、错误输出句柄
当参数标识为STD_OUTPUT_HANDLE时获得标准输出句柄
善于使用搜索引擎,搜到的
CROOD就是这样的一个玩意:
typedef struct _COORD {
SHORT X;
SHORT Y;
} COORD, *PCOORD;
很明显这个结构可以用来记录坐标
GetStdHandle()函数获得标准输入输出的句柄,参数STD_OUTPUT_HANDLE是个宏,代表标准输出,可以看作显示器
SetConsoleCursorPosition(hout,coord); 看函数名称:设置控制台光标坐标,参数就是设备句柄,坐标,那么把标准输出的句柄传给函数,就可以把光标定位在对应的位置了(左上角位置是0,0然后向左 向下延伸)
下面这段代码可以在屏幕第10行第30列输出"Hello world"
#include windows.h
#include iostream
using namespace std;
int main()
{
HANDLE hout;
COORD coord;
coord.X=30;
coord.Y=10;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord);
cout"Hello world!\n";
return 0;
}