Reset-Bildschirm zeigen auf die top von Bildschirm in Windows & Linux-Konsole
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'.
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