早上好, 我在Codeblock c程序中编程。但是,我需要使用 windows.h 和 conio.h 。此头文件不在MacBook上。拜托,你能帮帮我吗?不起作用的来源:
void gotoxy (int x, int y)
{
COORD coord; // coordinates
coord.X = x; coord.Y = y; // X and Y coordinates
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
gotoxy(xn, yn);
感谢您的回答。
答案 0 :(得分:0)
您可以使用ANSI转义序列。它们不如windows.h函数好用,但似乎可以解决问题。
This link带您进入转义序列的完整表,而this link带您进入维基百科页面,对其进行了更深入的说明。您想要的是Esc[Line;ColumnH
或Esc[Line;Columnf
。 Esc的字面写为"\033"
,而Line和Column是用于指定光标位置的数字。一个简单的例子:
printf("\033[0;0H"); // Sets cursor to (0,0)
printf("Hello World");
printf("\033[0;0HJ"); // writes a J at (0,0), now says "Jello World!"
要重写功能,您可以执行以下操作:
void gotoxy(int x, int y)
{
printf("\033[%d;%dH", y, x);
}