gotoxy() 函数替代 Dev C 不起作用
gotoxy() function substitute for Dev C not working
我正在寻找 Dev C++ v5.11(gcc 编译器)的 gotoxy
替代品,发现了这个:
void gotoxy(int x,int y) {
printf("%c[%d;%df", 0x1b, y, x);
}
在此之后,当我尝试按如下方式调用此函数时:
int main() {
gotoxy(20, 10);
printf("Hello");
return 0;
}
输出不符合预期:
<-[10;20fHello
这是打印在屏幕最左上角的(即 1,1)
而不是 (20,10).
请给我一些建议,告诉我如何在我的代码中使用 gotoxy
。
您的 ANSI 转义序列不正确,应该是 3[%d;%dH
,但您的终端似乎根本不支持 ANSI VT100 转义序列。在 Windows 中,可能有启用它的配置设置,VT100 仿真是大多数现代操作系统终端(unix、linux、BSD、OS/X...)的标准配置。
修改后的代码如下:
#include <stdio.h>
void gotoxy(int x, int y) {
printf("3[%d;%dH", y, x);
}
int main(void) {
gotoxy(20, 10);
printf("Hello\n");
return 0;
}
这个也可以用
#include <windows.h>
void gotoxy(int x,int y){
COORD V={x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), V);
}
我正在寻找 Dev C++ v5.11(gcc 编译器)的 gotoxy
替代品,发现了这个:
void gotoxy(int x,int y) {
printf("%c[%d;%df", 0x1b, y, x);
}
在此之后,当我尝试按如下方式调用此函数时:
int main() {
gotoxy(20, 10);
printf("Hello");
return 0;
}
输出不符合预期:
<-[10;20fHello
这是打印在屏幕最左上角的(即 1,1) 而不是 (20,10).
请给我一些建议,告诉我如何在我的代码中使用 gotoxy
。
您的 ANSI 转义序列不正确,应该是 3[%d;%dH
,但您的终端似乎根本不支持 ANSI VT100 转义序列。在 Windows 中,可能有启用它的配置设置,VT100 仿真是大多数现代操作系统终端(unix、linux、BSD、OS/X...)的标准配置。
修改后的代码如下:
#include <stdio.h>
void gotoxy(int x, int y) {
printf("3[%d;%dH", y, x);
}
int main(void) {
gotoxy(20, 10);
printf("Hello\n");
return 0;
}
这个也可以用
#include <windows.h>
void gotoxy(int x,int y){
COORD V={x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), V);
}