Clearing-output von einem terminal-Programm in Linux-C
Möchte ich deaktivieren Sie die Ausgabe von einem C-Programm erzeugt mit printf-Anweisungen. Ich will klar, nur eine Zeile, zum Beispiel:
[Quelle]
printf("AAAAAAAAAAAAAA");
printf("BBBBBBBBBBBBBB");
printf("CCCCCCCCCCCCCC");
printf("DDDDDDDDDDDDDD");
[terminal]
AAAAAAAAAAAAAA
BBBBBBBBBBBBBB
CCCCCCCCCCCCCC
DDDDDDDDDDDDDD
[Ich hoffe,]
AAAAAAAAAAAAAA
BBBBBBBBBBBBBB
CCCCCCCCCCCCCC
Werde ich "DDDDDDDDDDDDDD" - Zeile schreiben Sie anderen string.
Ich will nur die oben genannten A -, B -, C-Sätze nach Links.
Nur klar D Sätze zu ändern, die anderen Sätze,
bedingungslos Ausgabe D Sätze.
Wie mache ich das?
InformationsquelleAutor Nathaniel Jobs | 2013-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Möglichkeiten zum löschen der DDDDDDDDDDDDDD
1.Drucken Sie die Rücktaste mehrmals
printf("\b");
2.Print carriage-return und dann etwas drucken, überschreiben die original-line
printf("\r");
3.Wenn Sie in einer Zeile. Sie können verwenden Sie terminal-Befehle bewegen den cursor
wie
printf("\033[8;5Hhello"); //Move to (8, 5) and output hello
andere Befehle:
4.Vergessen Sie nicht, ncurses
Es ist die besten Wege, um das genaue layout und format in einem terminal
\033[8;5Habcd
was das bedeutet?Verschieben (8,5) und die Ausgabe abcd. 😉 In deinem Fall sollten Sie
printf("\033[1A")
zu bewegen eine Zeile nach oben.ah!danke!!!!
InformationsquelleAutor Naruil
Wenn Sie mit X-Term kompatible (Gnome-Terminal im Lieferumfang enthalten), und drucken Sie dann die folgenden
oder
wo
\033
ist das escape-Zeichen in ASCII - und[2J
ist die spezifische Aktion (klar).InformationsquelleAutor someone
Könnte Sie klären die Frage. Es ist nicht so klar. Wie auch immer, ich habe versucht zu beantworten, was am besten ist hier zu erwarten.
kommentieren Sie die Letzte Zeile oder löschen, wenn Sie nicht wollen, um die Anzeige im terminal.
printf("xxxx") ist die Anweisung für das drucken verwendet wird die Ausgabe im terminal.
InformationsquelleAutor kandelvijaya