Para los que alguna vez aprendimos a programar con el famosos y antiguo Turbo C que si no mal recuerdo en ese entonces era de la extinta Borland, en esos ayeres pudimos ver que existían funciones como getch(), gotoxy(), color(); que eran parte de una biblioteca propia de Turbo C llamada conio.h y como no es parte del estándar ANSI C no la tenemos en Linux Ubuntu.
Bueno pues ésta entrada es para comentar que existe una biblioteca para Linux que aunque también no es parte del estándar ANSI C la podemos utilizar como alternativa a las funciones que teníamos en conio.h y aquí te digo qué tienes que hacer.
Primero que nada quiero comentar que actualmente estoy utilizando la versión 12.04 de Ubuntu por lo que lo que verás está con esa distribución de Linux.
Debes instalar los paquetes libncurses5-dev y libncursesw5-dev con:
sudo apt-get install libncurses5-dev libncursesw5-dev
Abres tu entorno de desarrollo y prueba escribiendo el siguiente código:
#include <curses.h>
int main() {
initscr(); //activar el acceso a la pantalla
clear(); //limpia la pantalla
move(0,30); //mueve el cursos a la posición 0,30
printw("Hola");
refresh(); //mostrar en pantalla lo escrito por printw
getch(); //espera la pulsación de una techa
endwin(); //cerrar el acceso a la pantalla
return 0;
}
En lo personal me gusta mucho Geany como entorno de programación tanto para PHP como para lenguaje C así que comentaré que después de construir el programa y que puedas construirlo sin problemas tendrás que modificar el comando de construir desde el menú de Geany como se muestra en la siguiente captura:
Deberás poner la opción -lcurses al final del comando construir como se puede ver en la siguiente captura:
Por último, ejecuta el programa y podrás ver el funcionamiento de las funciones antes mencionadas. Bueno, por hoy es todo y no antes mencionar que la información fue vista en las siguientes ligas:
muchisimas gracias, no sabes del lio del que me sacaste, recien empiezo a usar c en ubuntu y aunque estaba familiarizado con el de borland (un poco pasado de moda como tu dices) me dio un poco duro el paso, a causa de las pequeñas diferencias con instrucciones, bibliotecas.. muchisimas gracias, post como estos nos ayudan a personas de mi edad (tengo 16) a solucionar muchos de los problemas a la hora de programar. muchisimas gracias
ResponderEliminarMuchas gracias!! me solucionaste un problema , los comandos getch, y el rand por ejemplo son muy útiles, gracias por compartir ésto para ubuntu, yo utilizo elementary OS y anda a la perfección también. Saludos
ResponderEliminarhola amigo, disculpa sabras si tambien sustituye a la libreria alloc.h??
ResponderEliminarEstimado Yabin ncurses no sustituye a alloc.h la que tiene las funciones que necesitas es stdlib.h ya que tiene las funciones de manejo de memoria dinámica como son calloc, malloc, free. Saludos!
EliminarHola, ¿Como agrego los comandos de construcción en Codeblocks?
ResponderEliminarNo conozco mucho de Codeblocks pero al parecer encuentras las configuraciones en el menú: Settings -> Compiler y verás debajo de la ventana "Compiler flags" ahí deberás marcar las que más se perecen a las que comenté en el figura final del post.
EliminarQue bueno que te ha servido Eduardo :) saludos!
ResponderEliminarhay una libreria que puedes descargar en la siguiente dirección
ResponderEliminarhttps://sourceforge.net/projects/conio4linux/
la cual debes copiar en
cp conio.h /usr/include/
Gracias Dario por el aporte, daré una oportunidad a la librería que mencionas y haré pruebas. Saludos!
EliminarHola pEpE a mi también me gusta mucho Geany pero estoy teniendo un problema y quisiera solucionarlo: no me aparece la opción de debugger, y trate de instalarla de todas formas: por comando y por Synoptic y no hay caso. Y quería saber si sabes como puedo solucionar el problema.
ResponderEliminarDesde ya te agradezco por tu respuesta.
Creo que estás usando una versión de Ubuntu que no tiene los paquetes para instalarlo, al parecer las versiones nuevas como la 19.10 no lo tiene, podrías checar el link siguiente donde indica un método:
Eliminarhttps://stackoverflow.com/questions/60797910/how-can-i-debug-c-in-geany