Основываясь на вашем примере «Мне нравится», я собираюсь предположить, что вы имели в виду перемещение «назад» вместо «форвардов».
Насколько я знаю, нет абсолютно простого способа добиться того, что вы пытаетесь сделать. Вы не можете на самом деле программно перемещать курсор, если вы не имитируете нажатие клавиш со стрелками на клавиатуре. Это предполагает, что консоль, которую вы используете, поддерживает перемещение курсора.
Ближайший метод, который я знаю, это использовать клавишу возврата (\b
), чтобы стереть «е», вставьте «к», а затем повторно введите «е»:
Обратите внимание, \b
не всегда работает :.
Он не появляется на работе в консолей REPL, только полные консоли
Он не может стереть ничего, что появилось перед новой строкой (\n
). После того, как вы напечатаете новую строку, вы «сохранили» все на этой строке.
Вы также можете использовать системный вызов «CLS» протирать экран полностью, но имеет плохую совместимость тоже, и требует, чтобы перепечатать все, а не только последние несколько символов.
Вы не можете «двигаться вперед», если нет текста для перехода. Вы уверены, что не просто хотите как пробелы или вкладки? – Carcigenicate
Основываясь на вашем редактировании, вы имеете в виду движение назад? В вашем примере вам нужно удалить «k», используя символ '\ b' (символ обратного пространства), а затем введите« e ». – Carcigenicate
Возможно, что он хочет, это возврат каретки '\ r', но я немного смущен его вопросом. И '\ r' может не принести ожидаемый результат на некоторых консолях. – Gerhardh