我应该使用哪个gotoxy()函数?

时间:2019-12-28 18:51:31

标签: c

今年学校里,我的老师向我们展示了此功能:

#include<Windows.h>
void gotoxy(int x,int y)
{
    COORD punto;punto.X=x;punto.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),punto);
}

在这里看到一些我根据ANSI逸出代码了解到的帖子

#include<stdio.h>
void gotoxy(int x, int y)
{
    // <ESC>[(ROW);(COLUMN)f
    printf("\x1B[%i;%if",y,x);
}

我更喜欢第二个,我觉得我更好。但我想在这里问他们中的哪一个更好,因为我知道我可能会错过一些东西。你觉得呢?

1 个答案:

答案 0 :(得分:0)

如果您为Windows编写代码,则一定要使用第一个版本。它始终可以在Windows上运行,但不能在其他OS上运行(它甚至无法编译,因为其他OS不提供这些功能)。

第二个版本并不适合操作系统。只要应用程序在能够理解ANSI escape codes的终端仿真器中运行(大多数情况下都可以),它就可以在任何OS上运行。