2009-12-08 46 views
8

Duplicar posible:
What is the Best Practice for Combating the Console Closing Issue?¿Cómo se evita que la consola se cierre después de que el programa finalice en C?

¿Cómo evitar que la consola se cierre después de que el programa se realiza en C? Cuando trato de buscarlo, encuentro muchas cosas sobre C++ y otros lenguajes, pero nada para C. Además, incluso para C++, no parece haber una respuesta definitiva.

Entonces, ¿alguien podría decirme de qué manera más simple (no tiene que ser súper elegante) mantener la consola abierta después de que se ejecuta un programa en C?

+0

Duplicado: http://stackoverflow.com/questions/1173208/what-is-the-best-practice-for-combating-the-console-closing-issue –

Respuesta

16
  • ejecutar el programa desde la línea de comandos , en lugar de ejecutarlo directamente .

  • Ctrl + F5 en Visual C++.

+0

Además, se puede hacer ejecutando un 'cmd' prompt (Start | Run | "cmd") y luego ejecuta el programa desde allí. – wallyk

+1

@walyk de eso se trata el primer punto. – AraK

+1

Lo sé, pero algunas personas centradas en la GUI no saben * cómo * conseguir eso. – wallyk

10

Las aplicaciones de consola se deben ejecutar desde la consola. Si lo hace, después de ejecutarlo, se quedará con la ventana de la consola y podrá ver fácilmente el resultado de su programa.

Puede usar algo como getchar() para forzar a la aplicación a esperar que se presione la tecla.

+1

Todavía se cerró con un getchar() al final del archivo. ¿Cual es el trato? – user124384

0

Deje que la consola se cierre.

Si prohíbe que se cierre la consola desde el programa, dificultará la automatización de su programa o hará que el formato de la entrada del programa resulte extraño.

En su lugar, corrija lo que esté ejecutando el programa en primer lugar, para no cerrar la ventana del terminal en primer lugar. Si se trata de MS Visual Studio, pruebe F5 (Inicio sin depuración). Si necesita depuración, coloque una marca de corte al final del programa. De lo contrario, abra un indicador de comando/terminal y ejecute el programa allí usted mismo.

0

1) Su IDE abre la consola antes de que comience el programa.
2) termina su programa
3) el IDE se cierra la consola

a) Sólo decirle el IDE para no cerrar la consola ... o
b) hacer que su programa no termina.

a) No tengo idea de cómo hacerlo.
b) justo antes de la return 0; utilizado para terminar el programa de complemento

printf("Press ENTER a few times to terminate the program"); 
fflush(stdout); 
getchar(); getchar(); getchar(); getchar(); 
getchar(); getchar(); getchar(); getchar(); 
return 0; 
17

Las respuestas anteriores están asumiendo que desea invocar la aplicación de consola y luego dejar esencialmente "corriendo" a la espera de la entrada del usuario a finalizar . Si esta es la suposición correcta, entonces +1 a la respuesta de GMan. Sin embargo, si está preguntando cómo invocar esta aplicación de consola desde un acceso directo, Inicio-> Ejecutar o algún otro mecanismo y deja la ventana de cmd abierta, necesitará invocarlo a través del cmd.exe con la opción /k como lo siguiente:

cmd.exe /k "foo.exe" 

Esto iniciará una ventana de cmd, ejecutará la aplicación de la consola y luego dejará abierta la ventana de cmd.Esto abordará @Thanatos arriba. Tiene razón en cuanto a que debes cerrar la aplicación de la consola. Una vez más, para mí no está claro qué es lo que realmente está preguntando cuál debería ser el objetivo final.

Si hice las suposiciones incorrectas, siéntase libre de -1 mí.

0

Puede usar getch() al final de su programa. Otra forma es depurar el programa y colocar un punto de corte antes del final del programa.

Cuestiones relacionadas