Gibt es eine (gegenüber der newline) char?
Frage mich, ob wir drucken konnte, von rechts nach Links, von unten nach oben... ich habe diese Gedanken, wenn Sie versuchen, ein Programm zu schreiben, zu drucken, der folgende Platz (für ein ein 'n', hier n=4 )
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
Diese gelöst werden konnten, die vielen Möglichkeiten, durch die Speicherung in ein 2D-array und Druck-array... (Jede Sprache: Perl, C, C++, Java).
- Gibt es irgendein Grund, warum Sie nicht gehen kann, von Links nach rechts, oben nach unten? Ich habe code column-major drucken (Sie row-major), die sehr nützlich ist. Denken Sie an die normale Ausgabe von
ls -C
, die column-major. - Ich habe gehört, solche Zeichenfolge scherzhaft ein 'line verhungern", wie der vermutete inverse von einem Zeilenvorschub. Es ist definitiv terminal-abhängigen obwohl. foldoc.org/line+hungern
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die lange Antwort ist, dass Sie können tun, was auch immer das terminal unterstützt. Es gibt viele Arten von terminals (oder "Zeichen-Ausgabe-Geräte"), viele von Ihnen unterstützen cursor-Bewegungen. (Sie können sehen, die Termcap-Bibliothek Projekt zu erstellen ein Bild, was für verschiedene terminal-Typen.) Es gibt einen terminal-Befehl zum verschieben um eine Zeile, so esentially ja, Sie sollten in der Lage sein, das zu tun. Nach dem Stossen in der termcap-Datenbank, ich kam mit der folgenden:
In anderen Worten, die
\e[A
string hat einen nicht-null-chance zu bekommen, Sie ein line-up. Bei einigen terminals 🙂\eM
Baiscly dies möglich ist. Aber nicht auf einem traditionellen line-terminal. Beim Zugriff auf die Bildschirm-pixel basiert, ist es ziemlich einfach dieses problem zu lösen. Zumindest gibt es kein echtes Gegenstück zu \n definiert in ASCII.
Oder das vielleicht auch archiviert werden, durch ändern der Eingabe Methode von die terminal zu ein wenig Kultur, die liest von Links nach rechts und von unten nach oben.