Jump to content

getch()


nAm3leSs

Recommended Posts

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

Link to comment
Share on other 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

<3 life

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.