Segurando aberta cmd.exe no Vista
Pergunta
Eu estou escrevendo programas de console C ++. Após a compilação, quando eu executar o programa do meu navegador de arquivos, cmd.exe fecha automaticamente de forma que eu não posso ver a minha saída programas.
A única maneira de contornar esse que eu encontrei é para executar o programa de dentro cmd.exe
Existe uma maneira de manter cmd.exe aberta após um programa termina a execução?
Existe uma configuração que pode mudar em algum lugar? Eu não quero correr um script em lotes com cmd.exe / K
Obrigado!
[Edit] não sei se isso importa, mas estou no Vista x64
Solução
Tenha sua aplicação pedir uma tecla antes de sair - essa é a correção mais fácil
Outras dicas
Você pode configurar um atalho com o parâmetro / K ao lançar cmd.exe para tê-lo não terminar depois de executar um determinado comando:
cmd.exe /K YourProgram.exe
Eu sempre fui um fã de apenas criar um arquivo em lotes que chama você está programa e em seguida, chama pausa
Prog.exe Pausa
Isto lhe dará uma boa "Pressione qualquer tecla para continuar ..." prompt, é simples e não requer modificação do programa.
Como a última linha de sua função main()
, você pode adicionar esta linha:
system("PAUSE");
Além disso, certifique-se de #include <stdlib.h>
para declarar a função system()
. Isso fará com que a pausa console. No entanto, se o seu programa é executado a partir cmd.exe
dentro, isso vai ainda fazer uma pausa, o que pode ser indesejável.
Eu sei que você pediu como fazê-lo através de um navegadores de arquivos, mas no caso de outras pessoas estão interessadas no mesmo problema, mas através de visual studio:
É melhor para definir um certo ponto de interrupção antes de suas extremidades do programa.
Em seguida, você pode implantar sua exe e você pode ter certeza que você não vai se esqueça de remover a pedir entrada. Também é melhor, em seguida, pedindo entrada, porque leva muito tempo para comentar e volta na pedindo entrada.
Eu acho que é melhor não perguntar para entrada e para começar, em vez seu programa a partir de um comando lançou alerta.