我想printf
在同一个地方打印当前时间(通过使用),但我想在无限循环中进行,例如:
while(1) {printf("Date and Time are %s", asctime(localtime(¤t))); }
所以在我使用之前,printf
我应该将光标向后移动到它的凝视位置。我该怎么做?
我想printf
在同一个地方打印当前时间(通过使用),但我想在无限循环中进行,例如:
while(1) {printf("Date and Time are %s", asctime(localtime(¤t))); }
所以在我使用之前,printf
我应该将光标向后移动到它的凝视位置。我该怎么做?
为了简单地将光标移动到当前行的开头,您可以打印“\r”,它就是这样做的。请注意,它不会删除旧文本,因此请小心覆盖它或使用 ANSI 代码清除。
在使用 ANSI/VT 控制代码的系统上,您可以打印“\033[1;2H”来定位光标。它将移动光标并且不会在屏幕上打印任何内容。值 1 和 2 是行和列,因此将它们更改为使用不同的位置。
还有其他颜色和其他代码:http: //bluesock.org/~willg/dev/ansi.html
请注意,这些代码都不是可移植的,并且它们可能无法在所有系统上运行(最值得注意的是,它们在某些 Microsoft 系统上默认不运行)。不支持的系统将在屏幕上显示一些垃圾(代码本身)。
写一个 \r
while(1) {
printf("\rDate and Time are %s ", asctime(localtime(¤t)) );
fflush(stdout);
}
在行首打印“\r”可能会起作用。