【发布时间】:2011-12-30 20:03:36
【问题描述】:
我正在为 gcc 编译器寻找 gotoxy() 的替代品,结果发现了这个 -
void gotoxy(int x,int y)
{
printf("%c[%d;%df",0x1B,y,x);
}
我想知道它是如何运作的,我的意思是我们什么时候在 printf 中使用 [ 和 ;,0x1B 在那里做什么以及如何使用此代码将光标带到行/列?
我从来没有在书中看到过这种 printf 的做法,所以如果你能指出一个链接,我可以找到关于 printf 的这种用法的链接。
【问题讨论】:
-
使用
%c来格式化常量似乎很不寻常。以下是等价的:printf("\x1b[%d;%df",y,x); -
是的,流行也是
'\033'。如果我使用%c格式说明符,我会将其写为27- 我很清楚它是ESC(又名Ctrl-[或^[)。