conio.h no Linux

A "conio.h" é uma biblioteca do C introduzida pela Borland para DOS e que em 
1997 foi também dizponibilizada para o Linux (baseada na "ncurses", veja que
ela vai usar as funções da "ncurses").

Requer:

- kernel >= 2.0.29
- ncurses >= 1.9.9e
- gcc >= 2.7.2

- Baixe os fontes do site do autor:

http://www.inf.fu-berlin.de/~fland/

Ou do Ftp do Sunsite:

ftp://sunsite.unc.edu/pub/linux/ui/

Ai eu encontrei a versão linux-conio-1.02.tgz

- Descompacte no diretório /tmp, com::

tar zxpvf linux-conio-1.02.tgz --directory=/tmp

- Acesse e leia o README para maioress detalhes. Execute "make" e "make 
install". 

Caso não consiga rodar nem o make e mesmo rodando ambos não consiga
compilar nada, simplesmente copie a 

"conio.h" para o "/usr/include" e a 

"libconio.a" para o "/usr/lib"

Agora para compilar:

gcc -o nome.do.executavel nome.c -lconio -lncurses

Lembre-se que a "conio.h" usa as funções da "ncurses", então terá que 
usar as funções da "ncurses" e adicionar:

"initconio();"	Dentro da função "main" ou da função onde está usando funções
da conio.h, logo após a declaracao das variáveis e "doneconio();" na posição 
anterior ao "return(0);".

Veja "man ncurses" para detalhes e também para a relação de rotinas (funções)
da ncurses. Dando uma olhada eu consegui rodar um programa que pedia a 
"printf" e dava erro "Segmentation fault" substituindo-a pela "printw".

Exemplo funcional:
		--------------começo----------------
#include 
#include 

/* Comando 'for', exercício do loop infinito para Linux, pagina c430.html 
do curso de C da UFMG */

int main ()
{
        int Count;
        char ch;
	initconio();
        for (Count=1;;Count++)
        {
                ch = getch();
                if (ch == 'X') break;
                printw("\nLetra: %c",ch);   //Aqui 'printw' substitui 'printf'
        }
	doneconio();	
        return(0);
}
		----------------fim-----------------

-------------------------------
Ribamar FS ribafs@mcanet.com.br

Gostaria de registrar o agradecimento ao Carlos Gonzales (gonzal@unicamp.br)
por ter me passado estas informações.

    Source: geocities.com/br/linuxcatalogo

               ( geocities.com/br)