Jos*_*siP 8 c unix cursor cursor-position
我想在同一个地方打印当前时间(通过使用printf),但我想在无限循环中执行它,例如:
while(1) {printf("Date and Time are %s", asctime(localtime(¤t))); }
Run Code Online (Sandbox Code Playgroud)
.所以在我使用printf之前,我应该将光标向后移动到它的凝视位置.怎么做 ?
thx提前
只需将光标移动到当前行的开头,就可以打印"\ r \n",就是这样.请注意,它不会删除旧文本,因此请小心覆盖它或使用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);
}
Run Code Online (Sandbox Code Playgroud)