当我使用Borland C++构建光标时,为什么这段代码没有正确定位光标?

use*_*734 1 c gcc c++builder c99 borland-c++

我发现此代码仅用于gotoxy()使用C标准库的替换函数.显然它编译使用GCC和工作方式类似于gotoxy()中发现的conio.h.

但是我只有用Borland C++编译器V5.5,该编译罚款,但不会重新像光标gotoxy()conio.h做.任何人都可以在使用GCC时验证这是否有效,或者告诉我为什么使用Borland不起作用?

#include<stdio.h>
#include<stdlib.h>

void gotoxy(int x, int y)
{
    printf("%c[%d;%df", 0x1B, y, x);
}

int main()
{
    gotoxy(10, 10);
    printf("hello world");
}
Run Code Online (Sandbox Code Playgroud)

Car*_*rum 5

函数中使用的转义码取决于终端仿真器中是否存在支持.根据您使用的环境,它可能会也可能不会起作用.例如,您的程序在Mac OS X的终端应用程序中按预期工作,在xterm兼容模式下运行bash.

有关此特定情况的更多信息,您可以阅读有关ANSI转义码的信息,即"HVP - 水平和垂直位置"命令.