A biblioteca LINUX-CONIO
É possível controlar diversos aspectos da saída e entrada em um terminal
Linux. Para isso, geralmente utiliza-se uma biblioteca denominada CURSES.
Como a utilização da CURSES é um pouco complexa, criou-se uma simplificação,
baseada na biblioteca CONIO (Console I/O) do Turbo C, denominada LINUX-CONIO.
Nem todas as funções da CONIO original estão disponíveis, mas as mais
importantes sim. Para utilizar a biblioteca LINUX-CONIO, descompacte o
arquivo linux-conio.zip. Você irá encontrar
os seguintes arquivos:
- conio.c - código fonte da biblioteca
- conio.o - código objeto (compilado)
- conio.h - arquivo de cabeçalho (header) a ser utilizado nos programas
- libconio.a - biblioteca em formato instalável
- teste.c - exemplo de utilização da LINUX-CONIO
- LEIAME - arquivo descrevendo como utilizar a biblioteca
Instalação e utilização
Para compilar com o GCC (ou G++), basta especificar o arquivo "conio.o" na linha de comando. Também é preciso incluir a opção "-lncurses", para ligar com a biblioteca CURSES:
g++ -o teste teste.c conio.o -lncurses
Lembre-se que fazendo dessa forma, o arquivo "conio.o" deverá estar no mesmo diretório que o seu programa principal (teste.c).
Outra opção é instalar a biblioteca no seu sistema. Para fazer isso, você terá que ser administrador (root) do sistema:
cp libconio.a /usr/lib
A partir desse momento, para compilar um programa basta fazer:
g++ -o teste teste.c -lconio -lncurses
Para usar com o WEDIT, deve-se incluir o arquivo "conio.o" nas opções
de ligação (linker options) do projeto:
Principais Funções
- void initconio() - deve ser chamada no início do programa
- void doneconio() - deve ser chamada no final do programa
- void nocursor() - esconde o cursor
- void cursor() - exibe o cursor
- int getche() - espera uma tecla e exibe na tela
- int getch() - espera uma tecla, mas não exibe
- int cprintf(char *format, ...) - igual a printf, mas usando cores
- int cscanf(const char *format, ...) - idem
- void clreol() - limpa até o final da linha atual
- void clrscr() - limpa toda a tela
- void gotoxy(int x, int y) - posiciona o cursor na linha y, coluna x
- void delline() - apaga a linha atual
- void textbackground(int color) - seta a cor de fundo
- void textcolor(int color) - seta a cor do texto
- void cputs(char *str) - igual a puts
- char *cgets(char *str) - igual a gets
Cores (constantes)
- BLACK
- BLUE
- GREEN
- CYAN
- RED
- MAGENTA
- BROWN
- LIGHTGRAY
- DARKGRAY
- LIGHTBLUE
- LIGHTGREEN
- LIGHTCYAN
- LIGHTRED
- LIGHTMAGENTA
- YELLOW
- WHITE