2012-02-07 20 views
6

"Presione cualquier tecla para continuar" Las palabras no se muestran en la consola cuando mi aplicación finaliza la ejecución.Visual Studio 2010 "Presione cualquier tecla para continuar ..." no muestra

Sé que este mensaje debe mostrarse en el modo "iniciar sin depuración", pero no es así. Tan pronto como ingrese cualquier parámetro y presione enter, la ventana de la consola se cierra sin mostrar la salida ...

¿Qué debo hacer para que la aplicación de la consola me solicite cualquier clave cuando finaliza la ejecución?

+0

¿Lo ejecutó con F5 o CTRL-F5? –

+2

Inicie la aplicación con Ctrl + F5 – brano

+2

Parece una pregunta válida para mí. –

Respuesta

15

Según comments about a VS2010 bug, usted debe conseguir el comportamiento deseado si establecer la propiedad del subsistema del proyecto en "consola". Vaya al menú Proyecto> Propiedades> en nueva ventana seleccione Propiedades de configuración> Enlazador> Sistema> propiedad SubSistema debe tener el valor Consola (/ SUBSISTEMA: CONSOLA)

+0

No encontré Linker en Propiedades de configuración. Pero me diste una idea. ¡Creé un nuevo proyecto eligiendo la plantilla de aplicación de consola y funcionó! Normalmente creo proyectos vacíos, eso debe haber causado el problema. –

+1

La sección del enlazador debe estar entre las secciones C/C++ y Manifest Tool (al menos está en VS2008). Si esta es su respuesta aceptada, entonces debe marcarla como tal (haga clic en la marca de verificación vacía en el lado izquierdo). – Dialecticus

+0

Uso la edición Express, tal vez sea diferente. De todos modos, gracias! EDITAR: lo encontré! ¡Gracias! –

0

En el método de main, añadir un bloque Try...Catch...Finally como se muestra:

Esto asegurará que se mostrarán las excepciones que está recibiendo, y que el usuario tendrá que tomar medidas para cerrar la ventana de comandos.

try 
{ 
    // Your existing code 
} 
catch (Exception e) 
{ 
    // Log the exception, e.g: 
    Console.WriteLine(e.ToString()); 
} 
finally 
{ 
    Console.WriteLine ("Please press any key to close"); 
    Console.ReadKey(); 
} 
+0

La pregunta es sobre C++, pero la respuesta está en C# – Dialecticus

+0

La pregunta no se marcó como C++ cuando la contesté; consulte http://stackoverflow.com/posts/9175627/revisions y tenga en cuenta que estaba viendo la revisión 1. –

0

Por favor, elabore su pregunta. Sin una pista de lo que estás tratando de hacer es algo difícil de ayudar.

De todos modos, si usted está tratando de hacer una aplicación de consola, tal vez se le olvidó añadir las siguientes líneas al final de su código:

Console.Write('Press any key to continue...'); 
Console.ReadKey(); 
+0

Intenté ambos con Ctrl + F5 y sin. El mismo comportamiento se ve con cualquier código simple (estoy trabajando con C++). De hecho estoy siguiendo un curso de video y estoy haciendo todo exactamente como se muestran. Incluso copié su código, pero correr incluso con CTRL + F5 no ayuda ... ¿Podría ser que algo necesita ser configurado en Visual Studio? Ah, un detalle más: lo estoy ejecutando en una caja virtual en mi Mac. –

Cuestiones relacionadas