Olá, sou um iniciante em C (primeiro semestre de eng. de computação =p) e no mundo Linux/GNU e estou tendo alguns problemas com a "ncurses".
O que está acontecendo parece bobagem, mas não sei resolver, já andei lendo por aí, mas até agora nada.
Quando uso ncurses e a função initscr(), para inicializar a biblioteca, ele cria uma nova "window" no terminal e é nessa window que o resto do programa roda usando funções de saída e entrada diferentes das habituais (printw() em vez de printf, por exemplo). Até aí tudo bem, o meu problema é que essa nova "window" não habilita a "barra de rolagem" quando necessário. Quando a janelinha "enche" a barra de rolagem não é ativada para continuar lendo as saídas que aparecem abaixo... Deu para entender?
Eis um exemplo de programa:
#include <stdio.h>
#include <curses.h>
int main(void) {
char r;
initscr();
do {
printw("\n\n\tTestando...\n\n\n\n\n\n\n\n\tDeseja repetir? (s/n)");
noecho();
r = getch();
while(r!='s' && r!='n') {
printw("\n\tResponda usando 's' para 'sim' e 'n' para 'não'.\n\tE então? Deseja repetir?");
r = getch();
}
} while('s' == r);
endwin();
}
Nesse caso, se eu continuo apertando "s" a mensagem inicial se repete até que fica "cortada" pela tela, que não me deixa ver o "resto" da mensagem...
A imagem de como fica o terminal:
Bom... é isso aí... O problema é com o terminal ou com o code? Se é o código o que tenho que fazer para habilitar essa "barra de rolagem"?
Até mais, ;)
P.S.: Estou usando o Ubuntu 8.10 como S.O. e o GCC para compilar os programas.
Pergunta
jth.
Olá, sou um iniciante em C (primeiro semestre de eng. de computação =p) e no mundo Linux/GNU e estou tendo alguns problemas com a "ncurses".
O que está acontecendo parece bobagem, mas não sei resolver, já andei lendo por aí, mas até agora nada.
Quando uso ncurses e a função initscr(), para inicializar a biblioteca, ele cria uma nova "window" no terminal e é nessa window que o resto do programa roda usando funções de saída e entrada diferentes das habituais (printw() em vez de printf, por exemplo). Até aí tudo bem, o meu problema é que essa nova "window" não habilita a "barra de rolagem" quando necessário. Quando a janelinha "enche" a barra de rolagem não é ativada para continuar lendo as saídas que aparecem abaixo... Deu para entender?
Eis um exemplo de programa:
Nesse caso, se eu continuo apertando "s" a mensagem inicial se repete até que fica "cortada" pela tela, que não me deixa ver o "resto" da mensagem...
A imagem de como fica o terminal:
Bom... é isso aí... O problema é com o terminal ou com o code? Se é o código o que tenho que fazer para habilitar essa "barra de rolagem"?
Até mais, ;)
P.S.: Estou usando o Ubuntu 8.10 como S.O. e o GCC para compilar os programas.
Editado por jth.Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.