Daemonio
(usa Slackware)
Enviado em 02/04/2010 - 08:37h
Bem, o thread pode ser a resposta correta, mas talvez seu problema seja mais simples que isso.
Pelo que entendi:
Rodar seu programa infinitamente e só parar quando apertar uma tecla?
Ao invés de uma tecla, você pode apertar duas: Ctrl+C, seu programa irá parar imediatamente.
Se é para o programa continuar a rodar, é só você programar um recebimento de sinais em seu programa que ele irá receber um sinal e fazer alguma ação desejada (recebe o sinal SIGHUP(?) do ctrl+c, faz alguma ação e depois volta a execução). Nunca testei, mas acho que dá certo. Se você está querendo algo como "Problema da Parada" é melhor esquecer :D
Outra: Para fazer o loop infinito, opte para algo como while(1), porque em seu for, você está icrementando um int infinitamente, e com certeza, lá na frente deve rolar estouro na capacidade do int.
Espero ter ajudado.
t+