如何向前移动文本光标?

时间:2016-12-28 12:36:43

标签: c

我们可以将&#39; \ n&#39; 字符添加到字符串中,以便在我们使用processing file: Untitled.Rmd Quitting from lines 7-9 (Untitled.Rmd) Error in gzfile(file, "wb") : cannot open the connection Calls: <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval -> save -> gzfile Execution halted 时它可以转到下一行。

然后,如何将文本光标向前移动一行? 就像我们使用&#39; \ n&#39; 实施下一行一样简单。

例如,这是一个字符串&#34;我撒谎printf k&#34;

它应该是&#34;我喜欢&#34;当我使用\moveforwardk输出字符串时。

1 个答案:

答案 0 :(得分:1)

基于你的&#34;我喜欢&#34;例如,我将假设你的意思是向后移动&#34;向后&#34;而不是&#34;前进&#34;。

据我所知,没有超级简单的方法来实现你想要做的事情。除非您按下键盘上的箭头键,否则您无法以编程方式移动光标。这假定您使用的控制台支持移动光标。

我所知道的最接近的方法是使用退格键(\b)来删除&#34; e&#34;,插入&#34; k&#34;,然后重新键入&# 34; E&#34;:

  • 打印&#34;我撒谎&#34;。

  • 打印&#34; &#34; \ B&#34 ;.这将删除打印的最后一个字符(&#34; e&#34;)。

  • 打印&#34; ke&#34;。

注意,\b并不总是有效:

  • 它似乎不适用于REPL,只有完整的控制台。

  • 它不能删除换行符之前的任何内容(\n)。一旦你打印了一个新的行,你就已经保存了#34;那条线上的一切。

您还可以使用系统调用&#34; cls&#34;完全擦除屏幕,但兼容性也很差,需要你重新输入所有内容,而不仅仅是最后几个字符。