zecapistolas Posted October 25, 2009 at 08:32 PM Report Share #293325 Posted October 25, 2009 at 08:32 PM 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 👍 Link to comment Share on other sites More sharing options...
Rui Carlos Posted October 26, 2009 at 06:58 AM Report Share #293364 Posted October 26, 2009 at 06:58 AM A biblioteca readline é capaz de dar uma ajuda nisso. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
zecapistolas Posted October 26, 2009 at 11:32 PM Author Report Share #293491 Posted October 26, 2009 at 11:32 PM Tive a ver e não é nada fácil colocar isso a funcionar.... ? 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.... ? cumps 👍 Link to comment Share on other sites More sharing options...
Baderous Posted October 27, 2009 at 01:01 AM Report Share #293502 Posted October 27, 2009 at 01:01 AM 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á. Link to comment Share on other sites More sharing options...
Triton Posted October 27, 2009 at 05:24 PM Report Share #293592 Posted October 27, 2009 at 05:24 PM Se estiveres em Windows, vê isto: http://msdn.microsoft.com/en-us/library/ms682073%28VS.85%29.aspx <3 life Link to comment Share on other sites More sharing options...
zecapistolas Posted October 27, 2009 at 08:45 PM Author Report Share #293620 Posted October 27, 2009 at 08:45 PM Se estiveres em Windows, vê isto: http://msdn.microsoft.com/en-us/library/ms682073%28VS.85%29.aspx Obrigado pela dica, vou ver o conteúdo.... mas de qualquer maneira, estou em Linux.... cumps 👍 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now