Escribir una linea arriba

Iniciado por asdqwezxc, 19 Mayo 2015, 20:35 PM

0 Miembros y 1 Visitante están viendo este tema.

asdqwezxc

Buenas a todos,

me preguntaba como se podría escribir en el stdout de tal manera que puediera sobreescribir una linea que ya he escrito anteriormente. Por ejemplo:


printf("Hola\n");
prinft("Caracola");

// La salida seria:
// Hola
// Caracola


Y tras esta sallida me gustaría modificar el "Hola" de la linea de arriba. Sé que haciendo esto se puede modificar una linea:


printf("Holacaracola\radios\n");

// La salida seria:
// adiosaracola


... pero es la misma linea, no la linea anterior. Todo esto viene por que me pregunto como lo harán comandos como "top" en linux, que no se si lo hacen así o de otra manera.

Un saludo, ¡y gracias!

rir3760

Con solo C estándar no es posible. En el caso de Linux puedes utilizar una biblioteca como ncurses, un tutorial sobre esta es NCURSES Programming HOWTO y ejemplos sobre el tema que comentas se encuentran en el capitulo 6: Output functions.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language