Bueno, he estado investigando sobre cómo hacer esto, pero dicen que estoy ejecutando un programa que tiene un conjunto de bits de salida en el terminal, ¿cómo puedo limpiar la pantalla de dentro de mi programa para que yo pueda mantener mi programa que se ejecuta?
Sé que puedo solo tipo de clear
en la terminal y se borra bien, pero como he dicho, para este programa sería más beneficioso para mí.
He encontrado algo que funciona, sin embargo, no estoy seguro de lo que es o de lo que se está haciendo.
cout << "3[2J3[1;1H";
Que funciona, pero no tengo ni idea de lo que es, si se podría explicar, que me gustaría mucho aprecio.
Estos son ANSI códigos de escape. La primera de ellas (
\033[2J
) borra toda la pantalla (J
) desde la parte superior a la inferior (2
). El segundo código (\033[1;1H
) posiciona el cursor en la fila1
, columna1
.Todos ANSI escapa de comenzar con la secuencia ESC[, tener cero o más parámetros delimitados por ;, y termina con un comando carta (J y H en su caso).
\033
es el estilo C octal de la secuencia de los caracteres de escape.Ver aquí para la plena gira.
Lugar de dependiendo de la situación de las secuencias de escape que se puede romper en situaciones inesperadas (a pesar de aceptar que el trade-off es buena, si es lo que quieres), usted puede hacer la misma cosa te gustaría hacer en tu shell:
Aunque por lo general (sistema) que se debe evitar, para un usuario-programa interactivo ni la extra de shell de análisis ni sobrecarga proceso es significativo. No hay ningún problema con el shell de escape, en este caso.
Siempre se puede horquilla/exec para llamar a clara, si se quería evitar (sistema). Si usted ya está usando [n]maldiciones o de otro terminal de la biblioteca, el uso que.
system()
es malo: cplusplus.com/articles/j3wTURfi#include <cstdlib>
usar std::sistema. También, a pesar de que «claro» que funciona en bash, para una línea de comandos de Windows, usted necesita «cls».Para la portabilidad debe obtener la cadena de termcap del cl (claro) capacidad de borrado de la pantalla y el cursor de la casa). (O usar std::system(«clear») como dijo Roger Pate).
man 3 termcap (en ncurses)
hombre 5 termcap
set | grep TERMCAP