相同的代码,但它给出了运行程序的方式之间的不同结果。 谁可以向我解释。
#include <stdio.h>
#include <conio.h>
int main()
{
printf("\x1b[%d;%dH", 11, 11);
printf("Hello world");
getch();
return 0;
}
结果
答案 0 :(得分:1)
程序正在发出terminal control codes,告诉控制台移动光标。不同的终端以不同的方式响应这些代码,这就是使用不同终端时得到不同结果的原因。
答案 1 :(得分:0)
很明显,左侧的shell不支持控制代码转义序列,右侧shell支持它。 或者,当您直接运行可执行文件时,它不会分配与cmd.exe中运行相同的控制台。
答案 2 :(得分:0)
这就是为什么我们有ncurses和类似的库