Ae galera que se amarra em programação C/C++ e tem saudades da conio.h do DOS/Windows estou disponibilizado para download a versao para linux. A primeira versão (que coloquei nos Artigos) possuía alguns erros pois os programas que eram feitos para DOS/Windows não estavam ficando corretamente formatados no Linux. Agora tem também a função getch() e getche(). Até mais galera da comunidade!
Lembrando que para funcionar você deve ter a ncurses instalada!
Changelog: Atualização da implementação criada por Jefferson.
Agora o mesmo código escrito para windows podera funcionar no linux sem modificar nada. Para inicializar e finalizar basta utilizar uma das funções desta implementação, recomendo o clrscr(). Os comandos printf e scanf são automaticamente redefinidos para printw e scanw.
Meu e-mail : felipeludo2011@gmail.com
Se o nome do arquivo estiver diferente de "conio.h", renomeie ele antes de usar.
Lembre-se: Precisa ter o ncurses instalado.
Compativel com Windows e Linux, e sem precisar modificar o código que você fez no Windows para funcionar no Linux, seguindo apenas dois passos simples.
[3] Comentário enviado por RuizBRX11 em 01/04/2012 - 00:10h
De uma forma bem resumida:
Para usar é só voce copiar para o diretório onde estão os headers, no meu computador é /usr/include, e colocar no séu programa a linha: #include <conio.h>.
Ou se preferir, copie para a pasta onde seu programa está, e escreva a seguinte linha nele: #include "conio.h".
Compile com o comando: gcc "meuprograma.c" -o "meuprograma" -lncurses.
[4] Comentário enviado por julio_hoffimann em 04/04/2012 - 17:55h
Um bom programador C/C++ utiliza somente headers cobertos pelo standard. Incentivar o uso de um header não portável não faz sentido, ainda mais em se tratando de um header Windows para desenvolvimento em Linux.
Esse problema de cultura é o mesmo que assola o uso do Dev-C++ no Linux.
[5] Comentário enviado por removido em 04/04/2012 - 23:53h
Certo... e para onde vai a portabilidade do código?
Esse problema de cultura é o mesmo que só faz serem usados manuais de C para aquele sisteminha feito lá no Condado de King, USA.
Nem falo o nome do lugar porque é sinônimo e já virou propaganda.
Mas se quer saber mesmo, pelo menos metade desse código aí se reescreve com sequências de escape e inline assembly.
Prá que ficar usando ncurses se ninguém vai poder ou querer instalá-la no sistema do concorrente?
E se o sistema não tiver ncurses? E se quem pegar nem souber o que é ncurses?
Resumindo em três termos: 1. Portabilidade; 2 Independência; 3. Concisão.
*** ADD ***
E o problema não é com o código, é com ninguém se interessar de querer solucionar essa pendência de não ter header.
Ou se inventa um header ou se reescreve tudo o que há de exemplo que foi feito até hoje e que é usado para fins escolares.
Porque o pessoal mesmo vai querer ir pro Java, C#, .Net etc. fazer catálogo de produtos, que é o que vende.
É por estas e outras que em pleno 2012 só se acha livro de Assembly para 286, 386 e ainda para DOS no mercado brasileiro.
Parabéns pela iniciativa, mas tente "implodir' este código com o que citei sobre sequências de escape e Assembly.
Tenho quase certeza de que dará certo, apesar de nunca ter visto e de nunca ter sabido de alguém tentar implementar.
[6] Comentário enviado por jeffersonsfelix em 09/04/2012 - 00:16h
Quando escrevi este artigo, estava iniciando meus estudos em computação e visava atender colegas estudantes que utilizavam windows e estavam migrando para o Linux. Evidentemente não tinha o caráter de criação de sistemas comerciais, mas sim meramente educacionais e de portabilidade dos códigos dos trabalhos feitos no win para o linux. Nada de mais.
Lembro-me na época que consegui portar programas escolares escritos no windows com a conio.h para o linux com o mínimo de trabalho. E, por óbvio, se quisesse utilizar a ncurses diretamente, o fazia.
Assim, agradeço a todos que compreenderam o espírito da coisa e os que utilizaram estas funções, que pelo que verifiquei no google já foram copiados para muitos sites.
Atualmente não estou mais no meio acadêmico e não utilizo do C++, então, aqueles que dispuserem de tempo e quiserem aprimorá-lo, por favor, fiquem à vontade.
Quanto à ideia do Listeiro_037, se não me engano há alguns anos já vi uma header em algum site por aí utilizando somente escapes e Assembly, dispensando assim o ncurses, mas não me lembro onde vi isso.
É isso ae galera, um abraço a todos o VOL!