【发布时间】:2015-10-14 16:31:45
【问题描述】:
假设我的终端是 4 列宽,我打印 4 Xs 和一个返回字符:
$ print "XXXX\r"
$ yesyeshellothiscanbeanythig
\r 返回到行首,以便后面的字符 (yesyeshellothiscanbeanythig) 可以覆盖它们。
我想在单行之外实现这种效果:当我有五个 X 并且最后一个 X 换行到第二行时,我希望 \r 移回两行。
我想要什么:
$ print "XXXX\r"
$ overwrite
我得到了什么:
$ print "XXXXX\r"
XXXX
$ overwrite
打印前 4 个 Xs,然后将第五个 X 换行,然后 \r 仅转到第二行的开头,而将 4 个 X 原封不动地留在第一行。
有没有平台无关的方式让\r回到第一行的开头?我认为\r 会出现在第一行的开头,如果这些行是通过换行而不是显式的\n 生成的。
【问题讨论】:
-
你的问题看似简单易懂(不一定是容易解决的意思),但你写的好像很难。
-
再次换行的方式/原因是什么?
-
在“我想要什么”下,为什么会有
$ print "XXXX\r"?