2016-12-28 3 views
0

Мы можем добавить символ '\ n', чтобы он мог перейти к следующей строке, когда мы используем printf.Как переместить текстовый курсор вперед?

Затем, как перемещать текстовый курсор вперед ровно в одну строку? Так же просто, как мы реализуем следующую строку, используя '\ n'.

Например, это строка «Я лежу \moveforwardk К»

Это должно быть «Я хотел», когда я строка вывода с помощью printf.

+1

Вы не можете «двигаться вперед», если нет текста для перехода. Вы уверены, что не просто хотите как пробелы или вкладки? – Carcigenicate

+1

Основываясь на вашем редактировании, вы имеете в виду движение назад? В вашем примере вам нужно удалить «k», используя символ '\ b' (символ обратного пространства), а затем введите« e ». – Carcigenicate

+0

Возможно, что он хочет, это возврат каретки '\ r', но я немного смущен его вопросом. И '\ r' может не принести ожидаемый результат на некоторых консолях. – Gerhardh

ответ

0

Основываясь на вашем примере «Мне нравится», я собираюсь предположить, что вы имели в виду перемещение «назад» вместо «форвардов».

Насколько я знаю, нет абсолютно простого способа добиться того, что вы пытаетесь сделать. Вы не можете на самом деле программно перемещать курсор, если вы не имитируете нажатие клавиш со стрелками на клавиатуре. Это предполагает, что консоль, которую вы используете, поддерживает перемещение курсора.

Ближайший метод, который я знаю, это использовать клавишу возврата (\b), чтобы стереть «е», вставьте «к», а затем повторно введите «е»:

  • Print «Я лежу ».

  • печати» "\ б". Это приведет к удалению последнего символа напечатанный ("е").

  • печати "КЕ".

Обратите внимание, \b не всегда работает :.

  • Он не появляется на работе в консолей REPL, только полные консоли

  • Он не может стереть ничего, что появилось перед новой строкой (\n). После того, как вы напечатаете новую строку, вы «сохранили» все на этой строке.

Вы также можете использовать системный вызов «CLS» протирать экран полностью, но имеет плохую совместимость тоже, и требует, чтобы перепечатать все, а не только последние несколько символов.

Смежные вопросы