一、gotoxy基本概念
#include <windows.h> void gotoxy(int x, int y) { COORD pos; pos.X = x - 1; pos.Y = y - 1; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); }
gotoxy函数是在控制台窗口中移动光标的函数,它是Windows.h头文件中的一个函数,用于实现在控制台窗口中输出文本时,可以控制光标的位置。这个函数是通过控制控制台的光标位置来实现的。
其中,该函数的头文件为windows.h,相关数据类型为COORD结构体,该结构体有两个变量,分别代表着光标的X和Y坐标。
二、gotoxy优势
1、输出位置准确
在控制台输出文本时,如果没有gotoxy函数,只能逐个字符的输出,不能准确控制输出文本的位置。使用gotoxy函数可以直接将输出光标放置到指定位置,从而快捷有效地进行文本输出。
2、界面美观
在控制台输出一般的文本界面时,如果只是输出简单的文本序列,往往会造成界面很丑的问题。使用gotoxy函数,可以定义各种控制台界面的布局和设计,从而打造美观实用的控制台界面。
3、提高效率
使用gotoxy函数,可以控制输出的位置,有效的进行批量处理和实现复杂的操作。因此,可以既提高代码的效率,也提高开发者的工作效率。
三、gotoxy实例代码
1、输出居中文本
#include <iostream> #include <windows.h> using namespace std; void gotoxy(int x,int y) { COORD pos = {x,y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); } int main() { int columns = 80, rows = 20; gotoxy(columns / 2 - 10, rows / 2); cout << "This text is in the center of the screen." << endl; return 0; }
2、绘制表格
#include <iostream> #include <windows.h> #include <stdio.h> using namespace std; void gotoxy(int x, int y) { COORD coord = { x, y }; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } int main() { const int columns = 80, rows = 20; int x = 5, y = 5; for (int i = 0; i <= 30; i++) { gotoxy(x, y); printf("| |"); y++; } return 0; }
3、实现动态效果
#include <iostream> #include <conio.h> #include <windows.h> using namespace std; void gotoxy(int x, int y) { COORD coord = { x, y }; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } int main() { int x = 10, y = 10, i = 1; system("color 0E");//改变输出颜色,制造动态效果 while (1) { gotoxy(x, y); cout << i++; if (kbhit())//敲击键盘,程序结束 { break; } Sleep(100); } return 0; }
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238147.html