我知道我的问题很愚蠢,但我仍然需要你的帮助。为什么gotoxy的功能不起作用?
void gotoxy(int x,int y)
{
COORD coord={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
using namespace std;
int main()
{
cout<<"___________________________________________________________________________________________________________________________\n";
cout<<"| | XUAT SAC | GIOI | KHA | TRUNG BINH | YEU |\n";
cout<<"| MA LOP |--------------------------------------------------------------------------------------------------------|\n";
cout<<"| | SL | % | SL | % | SL | % | SL | % | SL | % |\n";
cout<<"|-------------------------------------------------------------------------------------------------------------------------|\n";
gotoxy(0,5);cout<<"gotoxy(0,5)";
}
它显示如下:
___________________________________________________________________________________________________________________________
| | XUAT SAC | GIOI | KHA | TRUNG BINH | YEU |
| MA LOP |--------------------------------------------------------------------------------------------------gotoxy(0,5)
I want to gotoxy(0,5)on the screen but it is display in the line of 3
我想在屏幕上gotoxy(0,5),但它显示在3行
不,它实际上显示在第5行。
我平台上的默认控制台宽度为120像素。当打印的行太长而无法适应120像素的限制时,控制台将自动创建一个新行,因此Y = Y + 1。
由于宽度较短,此代码很可能适合您。
std::cout << "_____________________1\n";
std::cout << "_____________________2\n";
std::cout << "_____________________3\n";
std::cout << "_____________________4\n";
std::cout << "_____________________5\n";
gotoxy(0, 5);
cout << "gotoxy(0,5)";
您可以将控制台宽度调整为更宽的长度,它应该按预期工作。
https://www.howtogeek.com/howto/19982/how-to-make-the-windows-command-prompt-wider/