Frage von Tarnpflanze, 18

C++ Programmieren - Escape Sequenzen downloaden oder bereits installiert?

Hallo

Ich programmiere momentan mit C++ und benötige Escape-Sequenzen. Ich habe einen Makro erstellt, der den Konsolenbildschirm löschen soll:

.#define CLS (cout << "\033[2J")

Doch wenn ich diesen ausführe kommen folgende Zeichen:

<-[2J

Ich finde im Google keine Lösung, ob ich zB erst die Escape-Sequenzen installieren muss oder zB zuerst irgendwo einstellen muss.

Könnt ihr mir helfen? Vielen Dank im Voraus

PS: Ich möchte Escape-Sequenzen verwenden und nicht andere Varianten.

Freundliche Grüsse Eure Pflanze

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von martin7812, Community-Experte für programmieren, 11

In MS-DOS musste man den Treiber ANSI.SYS laden, um Escape-Sequenzen nutzen zu können, in Linux sind sie bei fast allen Konsolen auch ohne zusätzlichen Treiber "vorinstalliert".

Bei Windows-Programmen kann man laut englischsprachiger Wikipedia (http://en.wikipedia.org/wiki/ANSI\_escape\_code) keine Escape-Sequenzen nutzen - zumindest nicht in der normalen Konsole.

Auf dieser Wikipedia-Seite sind jedoch Links auf Zusatzprogramme, mit denen man Escape-Sequenzen auch unter Windows nutzen kann.

Antwort
von Mikkey, 18

Versuche es mit "\x1B[2J", das sollte gehen.

Kommentar von maximilianus7 ,

was ist der unterschied zwischen \033 und \x1B  ?

Kommentar von martin7812 ,

Gar keiner!

Kommentar von Tarnpflanze ,

Ich habe \x1B ausprobiert und es geschieht das gleiche wie beim \033.

Ich arbeite nun mit anderen Möglichkeiten. Da ich Windows habe, nehme ich gerade SetConsoleCursorPosition.

Vielen Dank für die Antworten :)

Antwort
von maximilianus7, 14

wenn du mit <- den kleinen linkspfeil (1 zeichen, siehe bild): unter windows ist das normal. die shell (dos) unterstützt keine escape-sequenzen.

du solltest dazu schreiben wenn du unter unix / linux arbeitest.

Keine passende Antwort gefunden?

Fragen Sie die Community