Reset-Bildschirm zeigen auf die top von Bildschirm in Windows & Linux-Konsole

StackOverflow https://stackoverflow.com/questions/56324

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe eine kleine routine, die laufen unter Linux und Windows in C geschrieben und zeigt die Ausgabe auf der Konsole.Ich bin nicht die Verlinkung in jeglicher form Flüche, oder etwas wie, dass.

Derzeit lösche ich den Bildschirm mit

#ifdef __WIN32
  system( "cls" );
#else
  system( "clear" );
#endif

Dann habe ich ein paar printf-Anweisungen, um den status zu aktualisieren.Was ich möchte, nur setzen Sie die screenpointer auf 0,0, so kann ich dann einfach mein overlay printfs.Ich würde lieber vermeiden Kompilierung weitere Erweiterungen besonders da ich die Codierung für 2 verschiedene OS'.

War es hilfreich?

Lösung 2

Sieht aus wie ich ein Fenster spezifische Art und Weise, es zu tun SetConsoleCursorPosition

Ansi Escape-Sequenz \ 033 [0;. 0H für Linux - nur printf, dass auf die Konsole

Andere Tipps

Für Unix-Plattformen, die übliche Art und Weise, dies zu tun ist mit dem Flüche Bibliothek.

Ja, für Unix-Plattformen, Flüche (oder ncurses, in diesen Tagen) ist der Weg zu gehen. Und es gibt Versionen, die unter Windows arbeiten, so könnte man es auf die gleiche Weise tun auf beiden Systemen.

Für Fenster - Sie können ANSI-Escape-Zeichen verwenden.

http://www.lexipixel.com/news/star_dot_star/using_ansi_escape_sequences.htm

http://www.robvanderwoude.com/ansi.html

printf "\x[0;0H"

Es früher so, dass ansi.sys Bedarf geladen werden, bevor Sie dies tun könnten, aber es ist ein Versuch wert.

Anleitungen zum Hinzufügen von ANSI-Unterstützung http://www.windowsnetworking.com/kbase/WindowsTips/ WindowsXP / UserTips / Commandprompt / CommandInterpreterAnsiSupport.html Hinweis: dass ansi.sys nur unter command.com arbeitet. Sie können es nicht mit cmd.exe verwenden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top