Esta es probablemente una pregunta embarazosa ya que sin duda la respuesta es cegadoramente obvia.
He usado Visual Studio durante años, pero esta es la primera vez que hago un desarrollo de 'Aplicación de consola'.
Cuando ejecuto mi aplicación, aparece la ventana de la consola, aparece la salida del programa y luego la ventana se cierra a medida que la aplicación sale.
¿Hay alguna manera de mantenerlo abierto hasta que haya verificado el resultado, o ver los resultados una vez que se ha cerrado la ventana?
c
visual-studio
console
Martín
fuente
fuente
Respuestas:
Si ejecuta sin depuración (Ctrl + F5), de manera predeterminada, le pedirá que presione Intro para cerrar la ventana. Si desea utilizar el depurador, debe poner un punto de interrupción en la última línea.
fuente
ctrl+f5
no funciona, no hay nadaProperties
cuando hago clic con el botón derecho en el proyecto, tambiénwrench icon
está atenuado.Haga clic derecho en su proyecto
Seleccione la consola (/ SUBSYSTEM: CONSOLE) en la
SubSystem
opción o simplemente escriba Console en el campo de texto.Ahora inténtalo ... debería funcionar
fuente
CTRL+F5
fallará si, por ejemplo, agrega un nuevo archivo C ++ a un proyecto vacío.Aquí hay una forma de C / C ++:
Ponga esto en la parte superior de su programa, y SI está en un sistema Windows (
#ifdef _WIN32
), creará una macro llamadaWINPAUSE
. Siempre que desee que su programa haga una pausa, llameWINPAUSE;
y pausará el programa, utilizando el comando DOS. Para otros sistemas como Unix / Linux, la consola no debería cerrarse al salir del programa de todos modos.fuente
pause
comando es específico de Windows.Ir al menú de depuración-> Presione Inicio sin depuración
fuente
Si está utilizando .NET, coloque
Console.ReadLine()
antes del final del programa.Se esperará
<ENTER>
.fuente
Console.ReadKey()
simplemente esperar cualquier tecla.A partir de Visual Studio 2017 (15.9.4) hay una opción:
El fragmento correspondiente de la documentación de Visual Studio :
fuente
intente llamar
getchar()
justo antes demain()
regresar.fuente
(/ SUBSYSTEM: CONSOLE) no funcionó para mi vs2013 (ya lo tenía).
"ejecutar sin depurar" no es una opción, ya que no quiero cambiar entre depurar y ver resultados.
Terminé con
Solución utilizada en qtcreator pre 2.6. Ahora, mientras qt está creciendo, vs va por otro lado. Como recuerdo, en vs2008 no necesitábamos tales trucos.
fuente
Aquí hay una solución que (1) no requiere ningún cambio de código o puntos de interrupción, y (2) hace una pausa después de la finalización del programa para que pueda ver todo lo que se imprimió. Pausará después de F5 o Ctrl + F5. El principal inconveniente es que en VS2013 Express (como se probó), no carga símbolos, por lo que la depuración es muy restringida.
Crea un archivo por lotes. Llamé al mío
runthenpause.bat
, con los siguientes contenidos:La primera línea ejecutará cualquier comando que proporcione y hasta ocho argumentos. La segunda línea ... pausará.
Abrir las propiedades del proyecto | Propiedades de configuración | Depuración
$(TargetPath)
(o lo que esté en "Comando").runthenpause.bat
.Ahora, cuando ejecute,
runthenpause.bat
iniciará su aplicación, y después de que su aplicación haya finalizado, hará una pausa para que vea la salida de la consola.Publicaré una actualización si descubro cómo cargar los símbolos. Lo intenté
/Z7
por esto pero sin éxito.fuente
solo pon como última línea de código:
fuente
Puede ejecutar su ejecutable desde un símbolo del sistema. De esta manera podría ver toda la salida. O podrías hacer algo como esto:
y de esta manera la ventana no se cerrará hasta que ingrese datos para la
a
variable.fuente
agregar "| pausa "en el cuadro de argumentos del comando en la sección de depuración en las propiedades del proyecto.
fuente
pause
parece que solo funciona en archivos por lotes, y aunque recibe información de su programa en STDIN, no vuelve a imprimir ese texto. Intenté reemplazarlo|
con&&
, pero no tuvo ningún efecto, presumiblemente porque no se está ejecutando con un shell de comandos (cmd.exe).Simplemente presione CNTRL + F5 para abrirlo en una ventana de línea de comando externa (Visual Studio no tiene control sobre él).
Si esto no funciona, agregue lo siguiente al final de su código:
Esto espera a que presione una tecla para cerrar la ventana del terminal una vez que el código haya llegado al final.
Si desea hacer esto en varios lugares, coloque el código anterior en un método (por ejemplo
private void Pause()
) y llamePause()
siempre que un programa llegue a un posible final.fuente
Una solución algo mejor:
Al comienzo de su programa.
Pros:
cin.sync(); cin.ignore();
truco en lugar desystem("pause");
)Contras:
fuente
Cualquier uso:
cin.get();
o
system("pause");
Asegúrese de hacer cualquiera de ellos al final de la
main()
función y antes de lareturn
declaración.fuente
También puedes usar esta opción
fuente
En mi caso, experimenté esto cuando creé un proyecto Empty C ++ en la edición comunitaria VS 2017. Deberá configurar el Subsistema en "Consola (/ SUBSISTEMA: CONSOLA)" en Propiedades de configuración.
fuente
Visual Studio 2015 , con importaciones . Porque odio cuando los ejemplos de código no dan las importaciones necesarias.
fuente
Usar
Console.ReadLine()
al final del programa. Esto mantendrá la ventana abierta hasta que presione la Entertecla. Consulte https://docs.microsoft.com/en-us/dotnet/api/system.console.readline para más detalles.fuente