[U-co] Cómo reemplazar definitivamente las conio.h con ncurses.h

JUAN CARLOS ROZO PARDO juank7802 en gmail.com
Lun Nov 22 01:30:55 UTC 2010


Estimados co-listeros.

De la necesidad nacen las soluciones:  andaba buscando como hacer funcionar
una función gotoxy en C/C++, que me corriera en un Dev-c++ (en win) pero al
compilarla en no se comporta igual que en GNU/Linux; esta es la estructura
de la función

//función que reemplaza el gotoxy de conio.h (Librería privativa de Borland)

void gotoxy(int x,int y)
{
   printf("%c[%d;%df",0x1B,y,x);
}

Reiterando, esta funciona en GNU/Linux, pero al compilarla en Dev-C++ se
comporta muy, pero muy diferente.
  Como no quería usar conio.h encontré esto: "How to set up PDCurses for
Code::Blocks and MinGW"
*http://www.youtube.com/watch?v=mYnfix8ruAo*

Ahora, pensando... y si puedo hacer lo mismo en GNU/Linux (Ubuntu)...pues
bien, estos son los pasos:

1) Se parte de la base de que ya está instalado build-essentials y
code::blocks
2) Instalar los paquetes:  libncurses5-dev y libncursesw5-dev
3) Abrir code::blocks
4) Ir a settings > Compiler and Debugger;
5) clic en la pestaña Linker Settings >> Other linker options y añadir el
parámetro* -lncurses*
6) Luego ir a la pestaña Search directories y en las pestañas Compiler,
Linker y   Resource compiler   añadir */usr/lib

Ahora a probarlo:

#include <ncurses.h>

int main() {
        initscr();
        printw("Hola Bulma!!!");
        refresh();
        getch();
        endwin();
        return 0;
}
*
Con esto puedo hacer programas en C/C++ desde el Code::Blocks de Ubuntu
usando la librería ncurses.h y compilarlos casi sin ninguna modificación en
el code::blocks de windows (únicamente hay que cambiar el <ncurses.h> por
<curses.h>

Espero que esto les sirva a todos los co-listeros que como yo, anduvo
buscando como reemplazar algunas funciones de conio.h (getch, gotoxy,
clrscr, poner colores a las fuentes y a la pantalla etc.).... ahh
...aquellos viejos tiempos de la Universidad cuando aprendí los fundamentos
de programación en C/C++ .....

-- 
Juan Carlos Rozo Pardo
Linux user # 466627
Ubuntu User # 20935
http://www.gnu.org/philosophy/no-word-attachments.es.html
http://twitter.com/juan_rozo



Más información sobre la lista de distribución Ubuntu-co