2016-12-28 5 views
0

Wir können '\ n' Zeichen zu einer Zeichenfolge hinzufügen, so dass es zur nächsten Zeile gehen kann, wenn wir printf verwenden.Wie bewege ich den Textcursor vorwärts?

Dann, wie den Textcursor genau eine Zeile weiterleiten? So einfach wie wir die nächste Zeile mit '\ n' implementieren.

Zum Beispiel ist dies eine Zeichenfolge „Ich liege \moveforwardk k“

es sein sollte: „Ich mag“, wenn ich Ausgang des String printf verwenden.

+1

Sie können nicht "vorwärts" gehen, wenn kein Text zu verschieben ist. Sind Sie sicher, dass Sie nicht nur als Leerzeichen oder Tabs arbeiten möchten? – Carcigenicate

+1

Meinen Sie basierend auf Ihrer Bearbeitung rückwärts? In Ihrem Beispiel müssten Sie das "k" mit "\ b" (dem Rückschrittzeichen) löschen und dann das "e" erneut eingeben. – Carcigenicate

+0

Vielleicht, was er will, ist ein Wagenrücklauf '\ r ', aber ich bin ein bisschen verwirrt durch seine Frage. Und '\ r 'könnte auf einigen Konsolen nicht das erwartete Ergebnis bringen. – Gerhardh

Antwort

0

Ausgehend von Ihrem "Gefällt mir" -Beispiel gehe ich davon aus, dass Sie gemeint haben, dass Sie sich "rückwärts" statt "vorwärts" bewegen.

Soweit ich weiß, gibt es keinen einfachen Weg, um das zu erreichen, was Sie tun möchten. Sie können den Cursor nicht programmatisch bewegen, es sei denn, Sie simulieren das Drücken der Pfeiltasten auf der Tastatur. Das setzt voraus, dass die Konsole, die Sie verwenden, den Cursor bewegt.

Die nächste Methode, die ich kenne ist die Rücktaste (\b) zu verwenden, um das „e“, legen Sie die „k“ zu löschen, dann geben Sie den „e“:

  • Druck „Ich liege ".

  • Print“ "\ b". Dies wird das letzte Zeichen gedruckt ("e") löscht.

  • Print "ke".

Hinweis, nicht \b nicht immer :.

  • Es scheint nicht in REPLs zu arbeiten, nur vollständige Konsolen

  • Es kann nichts gelöscht werden, das vor einem Zeilenumbruch vorlag (\n). Sobald Sie eine neue Zeile drucken, haben Sie alles in dieser Zeile "gespeichert".

Sie können auch den Systemaufruf „cls“ verwenden den Bildschirm vollständig zu wischen, aber das hat auch eine schlechte Kompatibilität und erfordert, dass Sie alles in dem Feld eintragen, nicht nur die letzten Zeichen.

Verwandte Themen