> Bom dia pessoal,
> Estou come�ando no Linux agora (Red Hat 9.0) e estou
> tentando programar em C usando o gcc via terminal, a
> partir do modo gr�fico (1024x768).
>
> Minha primeira dificuldade foi a falta do header
> CONIO.H, por�m consegui contornar parcialmente o
> problema.
>
> Li a respeito sobre os headers curses.h e ncurses.h, e
> foi falado que s�o de fato superiores ao header
> CONIO.H, com mais recursos e possibilidades.
Realmente!
> Fui ent�o atr�s tutoriais, c�digos, etc... por�m n�o
> consegui compilar nada, nem mesmo um simples "Ol�
> mundo!!!", veja exemplo abaixo.
>
> "#include <stdio.h>
> #include <curses.h>
> int main(void)
> {
> initscr(); //Inicializa a ncurses
> clear(); //Limpa a tela
> mvprintw(3, 3, "Ol�, Mundo!");
> //Na linha 3, coluna 3 escreva Ol�, Mundo!
> refresh(); //Atualizar tela
> endwin(); //Finalizar ncurses
> return(0);
> }"
>
> Compilei com:
> gcc olamundo.c -o olamundo -lncurses
> tentei tamb�m:
> gcc olamundo.c -o olamundo -lcurses
> e n�o deu em nada.
Seu programa est� certo. O que acontece � que ele escreve na tela e sai do modo
ncurses, e vc n�o v� nada. Experimente isso:
#include <stdio.h>
#include <curses.h>
int main(void)
{
char ch; //
initscr(); //Inicializa a ncurses
clear(); //Limpa a tela
mvprintw(3, 3, "Ol�, Mundo!");
//Na linha 3, coluna 3 escreva Ol�, Mundo!
refresh(); //Atualizar tela
ch= getch(); // s� encerra quando digitar uma tecla
endwin(); //Finalizar ncurses
return(0);
}
> Encontrei v�rias documenta��es e tutoriais a respeito,
> por�m estou com d�vidas quando � confiabilidade das
> mesmas pois algumas delas simplesmente come�am com:
> void main(void), que sempre d� erro independente de
> ncurses ou n�o, ao inv�s de int main (void).
� recomend�vel que a fun��o main() retorne um valor ao SO. Crie o h�bito de declarar
como int main() e usar o return.
>
> Perguntas:
> -O que � que eu estou fazendo de errado?
Voc� n�o colocou uma parada no seu programa. Ele entra no modo curses, imprime, sai do
modo curses, bem r�pido, e vc n�o v� nada.
> -Existe mais inicializa��es necess�rias pra se
> trabalhar com a ncurses.h?
Para um Hello, world, n�o.
> -A ncurses pode ser utilizada do modo como eu estou
> trabalhando?
Sim. A prop�sito, voc� n�o precisa criar uma janela, pois o initscr() cria a janela
stdscr automaticamente. S� em algumas aplica��es, onde s�o necess�rias v�rias telas,
di�logos, etc.
> -Como e onde posso arranjar tutoriais confiaveis que
> realmente compilam?
O seu t� compilando direitinho. Pelo menos na minha m�quina... :)
> Por favor pessoal se tiver algu�m que tenha alguma luz
> sobre o assunto por favor me ajudem.
Eu encontrei algumas coisas no Google, colocando "ncurses tutorial" (em portugu�s). As
man pages tamb�m s�o uma m�o na roda. Se tiver d�vidas sobre algum comando, por
exemplo initscr(), digite man initscr.
> Obrigado M�rcio.
>
Falow!
bragil
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html