• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

zecapistolas

Controlar stdout da consola

6 mensagens neste tópico

Viva,

Quando um programa está em execução e se por acaso clicamos em alguma tecla especial, tipo "seta para cima" aparece na consola "^[[A".... Pois bem eu queria controlar este output, mas não sei bem como....  :-[

O que eu queria era algo como acontece na consola do Linux.... a consola está a correr mas se clicarmos na seta para cima ela vai buscar o último comando introduzido, dá para alterar essa entrada (acrescentar mais texto, ou retirar) etc....

Como posso fazer isso no meu programa?!

cumps  :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tive a ver e não é nada fácil colocar isso a funcionar....  :thumbdown:

Já agora, na Wiki aqui do Portugal-a-Programar, na secção de C -> "Como usar o scanf para string's com espaços", tem lá o seguinte código:

/* Ler os dados */
scanf("%[^\n]", str);
/* Limpar o buffer */
scanf("%*[^\n]"); scanf("%*c");

O primeiro scanf percebo, lê a linha toda até encontrar um enter, não entrando esse enter para a string a ser lida.... mas o segundo e terceiro scanf não estou a entender....  :hmm:

cumps  :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No 1º scanf, lê e guarda tudo até ao \n. No 2º lê e descarta tudo até ao \n. O 3º é para descartar o \n que fica lá.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora