> 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

Responder a