2010-11-07 15 views
39

Estoy usando Visual Studio 2010 y Windows 7 x64¿Cómo detener la consola desde el cierre al salir?

El símbolo del sistema se cierra después de la salida, aunque utilicé "Inicio sin depuración". ¿Hay algún lugar que pueda usar?

+0

starnga sucede incluso cuando se inicia sin depuración .... hmmm ... pero cualquiera de las siguientes sugerencias lo hará :-) aplausos –

Respuesta

75

sólo tiene que pulsar Ctrl + F5 en lugar de F5 para ejecutar el código incorporado. Luego, le pedirá que presione cualquier tecla para continuar. O puede usar esta línea ->system("pause"); al final del código para que espere hasta que presione cualquier tecla.

Sin embargo, si utiliza la línea anterior, system("pause"); y pulsa Ctrl + F5 a correr, se le pedirá que dos veces!

+1

Esta debería ser la respuesta más votada. – Shiki

+0

de acuerdo. Marqué esto como la respuesta correcta. – segfault

+4

No entiendo por qué la pregunta dice que la consola se cierra a pesar de que se ejecuta con "Inicio sin depurar", pero Ctrl + F5 funciona, que es simplemente una tecla de acceso rápido para "Iniciar sin depuración". – jfritz42

6

¿Qué hay de Console.Readline();?

5

Agregue una llamada Console.ReadKey a su programa para forzarlo a esperar que presione una tecla antes de salir.

+5

gracias, pero ¿no hay una solución general? No quiero agregar eso al final de cada programa – segfault

2

Puede abrir un símbolo del sistema, CD en la carpeta Depurar o Liberar, y escribir el nombre de su archivo ejecutable. Cuando sugiero esto a la gente que creo que es mucho trabajo, pero aquí están los clics indispensables y las pulsaciones de teclado para esto:

  • en Visual Studio, haga clic derecho en su proyecto en el Explorador de soluciones o en la ficha con el archivo nombre si tiene un archivo en la solución abierta, y elija Abrir carpeta que contiene o Abrir en Windows Explorer
  • en la ventana resultante del Explorador de Windows, haga doble clic en el camino a la carpeta con el exe
  • Haga clic con el botón secundario en el fondo de la ventana del explorador y elija Abrir ventana de comando aquí
  • escriba la primera letra de su ejecutable y presione ta b hasta que aparezca el nombre completo
  • pulse enter

Creo que es 14 pulsaciones de teclado y los clics (contando shift-clic derecho como dos, por ejemplo) que en realidad no es mucho. Una vez que tenga el símbolo del sistema, por supuesto, ejecutarlo nuevamente es solo una flecha hacia arriba, intro.

35

Sí, en VS2010 cambiaron este comportamiento por alguna razón.
Abra su proyecto y vaya al siguiente menú: Proyecto -> Propiedades de su nombre de proyecto -> Propiedades de configuración -> Enlazador -> Sistema. Allí, en el campo SubSystem, use el menú desplegable para seleccionar Console (/ SUBSYSTEM: CONSOLE) y aplique el cambio.
"Iniciar sin depurar" debería hacer lo correcto ahora.

O, si se escribe en C++ o en C, poner

system("pause"); 

al final de su programa, entonces obtendrá "Pulse cualquier tecla para continuar ...", incluso cuando se ejecuta en depuración modo.

+0

Tengo este comportamiento extraño también, para una de las aplicaciones de la consola.solía funcionar, luego, de repente, se detuvo. –

+0

Esto da un error: el sistema es un espacio de nombres pero se usa como una variable – Kokodoko

+0

Excelente. Tuve este problema porque la plantilla del proyecto creada por el generador del asistente VS2010 no tenía este indicador. – jsj

Cuestiones relacionadas