相信用過Turbo C的童鞋都知道gotoxy這個函數吧,但由於某些原因,windows下的mingw沒有直接提供這個函數。
那么gotoxy究竟是干什么的呢?假設你的程序是基於控制台的(就是一個黑窗窗),當你在第五行輸出了一段字符后想要切回第一行再輸出字符,而不能使用cls命令,gotoxy函數就派上用場啦!他能讓你的光標直接跳到第x列y行,簡直是控制台黨必備啊!如果要在mingw下直接使用gotoxy,就需要自己寫一個。
void gotoxy(int x,int y)//自己定義一個gotoxy,將光標跳到x列y行
{
COORD c; //定義一個光標類
c.X = x - 1; //設置這個光標的位置
c.Y = y - 1;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); //調用WindowsAPI來設置光標位置
}
使用范例:
#include <iostream>
#include <cstdio>
#include <windows.h>
using namespace std;
int main(){
cout << "\n\n\n\n\n" << "Hello";
gotoxy(1,1);
cout << "Hello 2";
cin.get();
return 0;
}