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

nAm3leSs

getch()

3 mensagens neste tópico

Boas! Tenho aqui uma pequena(grande) duvida. Como a maior parte (penso eu?) de vocês, comecei a programar em C e so depois passei para o C++. Lembro-me que no C usava a função getch() em que quando o utilizador pressionava uma tecla o programa não a exibia na consola, mas podia atribui-la a uma variável (por exemplo char c = getch()). O problema e' que certos compiladores de c++ não trazem por defeito a libraria conio.h, logo impossibilita o uso da função, por isso gostaria que me ajudassem a encontrar uma funçao equivalente, ou um procedimento que faça o mesmo. O google não me foi útil, nem o search do forum, apesar de ter encontrado varios tópicos sobre o assunto não encontrei solução. No visual studio tenho essa libraria e o programa funciona na perfeição, mas na faculdade o programa usado e' o eclipse e e' a partir de lá que o trabalho vai ser avaliado pelo prof.

ps: o meu problema especifico e' a inserção duma password, em que quando o utilizador prime uma tecla ele mostra um asterisco, usando um while (c = getch())

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que não existem métodos ANSI para unbuffered input em C/C++.... Precisas mesmo da conio.h... Ou tenta descobrir o que faz a getch()....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em Linux tens várias bibliotecas para fazer isso: ncurses, readline, editline, termcap ou ainda podes optar por usar a interface do kernel do Linux para unbuffered input.

Em Windows podes procurar por aqui (tens vários exemplos nos links).

Aqui ficam mais uns links úteis:

http://c-faq.com/osdep/cbreak.html

http://c-faq.com/osdep/kbhit.txt

http://www.lysator.liu.se/c/c-faq/c-16.html

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