11月24日, 2014 3,341 次查看次
话说前几次课我们的李老师说控制台程序光标回不去的,当然如果使用Windows API 的话可以实现光标移动的,如下即为C语言控制台程序移动光标的自定义函数,注意要先引用 #include<windows.h> 头文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | void move(int x,int y)//相对移动光标 { COORD loc; HANDLE out_handle=GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(out_handle,&info); loc.X=info.dwCursorPosition.X+x; loc.Y=info.dwCursorPosition.Y+y; SetConsoleCursorPosition(out_handle, loc); } void moveHome(int y)//相对移动光标到某行首 { COORD loc; HANDLE out_handle=GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(out_handle,&info); loc.X=0; loc.Y=info.dwCursorPosition.Y+y; SetConsoleCursorPosition(out_handle, loc); } |