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.
               (
geocities.com/br)