Olá, meu nome é Francis e gostaria de contribuir com esta dica, pois já procurei em vários lugares e não encontrei respostas que funcionassem.
Estou começando a desenvolver em C++ na faculdade e lá usamos Windows e Dev-C++. Porém na hora de portar os meus códigos para o Linux acabo ficando sem o getch(), que uso para dar uma paradinha entre uma função e outra.
Segue abaixo a solução para o problema:
system("read b");
Simples, não?! Aqui usamos um comando de sistema (read) para dar aquela parada que faz falta. O "b" é para representar uma variável, mas pode ser qualquer outra coisa.
Para ficar mais bonito, podemos criar uma função getch no código para deixá-lo mais portável:
void getch(void)
{
system("read b");
}
Não se esqueça de colocar "void getch(void);" sem aspas antes da seção main().
Dessa maneira poderá usar getch() para situações do tipo "Pressione Enter para continuar".
[4] Comentário enviado por Patterson em 14/04/2017 - 13:03h
E seu quiser saber qual letra foi digitada? Se eu fizer ch = getch(); não vai funcionar porque não tem como eu pegar o valor da variavel b que foi lida `read b`, essa solução só serve para quando você precisa que o usuário digite um ENTER. Ela não substitui a função getch(); original que lê qualquer caractere pressionado e retorna ele, e sem ENTER. Posso precisar que o susuário digite S (sim) ou N (Não).