Pregunta

tengamos una situación en la que el siguiente programa imprime unas 10 líneas de #

for(i=0;i<10;i++)
prinf("\n#");

ahora, ¿cómo volver a la 5ª línea y editar ese # y cambiar el color sin borrar la pantalla o las 5 líneas siguientes?

He intentado

window(5,0,20,20);
textcolor(GREEN);
cprintf("#");

pero no está editando ese, pero está imprimiendo en el lateral del original. ¿Por qué?

¿hay alguna otra forma de hacerlo y cambiar dinámicamente el color del texto ya impreso? por favor, ayúdenme ... mi entorno es turbo en Windows

¿Fue útil?

Solución

La función de ventana

generalmente creará una ventana desde el primer píxel de dos coordenadas, es decir, en su ejemplo (5,0) hasta el píxel señalado por las siguientes 2 coordenadas. entonces su programa debería funcionar

pruébelo o use gotoxy ()

Otros consejos

Parece que está mezclando printf y otra biblioteca de salida; esto no es recomendable. Printf espera ser enviado a un terminal de caracteres, mientras que la biblioteca de salida en cuestión puede asumir falsamente que tiene acceso exclusivo (y podría comportarse mal).

Basado en una función, es probable que estés usando conio.h. La documentación se puede encontrar aquí , con una tabla de contenido que muestra cada Función disponible. A partir de ese índice, debería poder detectar la función al instante.

La función de ventana no hace lo que desea, ya que solo establece el área en la que el cursor puede cambiar el texto; no mueve el cursor, debe usar las otras funciones de la biblioteca.

-1: Algunos consejos para publicar preguntas de tarea:

1) ¡Haz la pregunta correcta! El código publicado no funciona como dice la descripción:

 for(i=0;i<10;i++)
    prinf("#");

Esto imprimirá 10 caracteres # en una línea, ya que no hay un carácter de final de línea. La descripción original habla de "imprimir 10 líneas".

2) Proporcione los detalles necesarios: ¿Qué entorno está utilizando: Windows? Linux? Que compilador ¿Es este un entorno basado en texto o en ventana?

3) STFW antes de publicar. Busque '' Secuencias de escape ANSI '' o " posicionar el cursor. "

quizás-

cprintf("\b#");

'b' es para retroceso

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top