windows.h替代mac os

时间:2018-01-16 19:14:40

标签: windows macos file header

早上好, 我在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);

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

您可以使用ANSI转义序列。它们不如windows.h函数好用,但似乎可以解决问题。

This link带您进入转义序列的完整表,而this link带您进入维基百科页面,对其进行了更深入的说明。您想要的是Esc[Line;ColumnHEsc[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);
}