Después de un tiempo de no escribir regreso y es para comentar qué podemos hacer cuando estamos programando en C o C++ y no tenemos la biblioteca conio.h, la cuál contiene funciones muy útiles como la de gotoxy ( int x, int y ); que es una función que sirve para posicionar la salida en pantalla de los programas que se ejecutan desde la terminal (Linux) o consola (Windows).
Antes que nada comentar que conio.h es una biblioteca propietaria de la extinta Borland ( ahora Embarcadero Technologies ) por lo que cuando no utilizamos su compilador no vamos a encontrarla y nuestros programas no se podrán compilar, es por ello que buscando un poco en la red encontré estas dos formas de implementar la función gotoxy ( int x, int y ); y así no depender de una biblioteca propietaria.
Veamos el primer ejemplo el cual será ejecutado en Linux y mostrará en pantalla lo siguiente:
El código quedaría de la siguiente forma:
#include#include void gotoxy ( int x, int y ); int main(int argc, char **argv) { int i; system("clear"); for( i = 1; i <= 5; i++ ) { gotoxy( i, 1 ); printf("*"); gotoxy( i, 5 ); printf("*"); } for( i = 2; i <= 5; i++ ) { gotoxy( 5, i ); printf("*"); gotoxy( 1, i ); printf("*"); } return 0; } /* Implementación de la función */ void gotoxy ( int x, int y ) { printf("%c[%d;%df", 0x1B, y, x); }
Para la ejecución de ese mismo programa en la consola de Windows la función gotoxy ( int x, int y ); quedaría de la siguiente forma:
void gotoxy ( int x, int y ) { COORD coord; coord.X=x; coord.Y=y; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord ); }
excelente muchas gracias hace horas que intentaba y no podia
ResponderEliminar