2012-02-07 17 views
6

"Premere un tasto qualsiasi per continuare" le parole non vengono visualizzate in console quando la mia app termina l'esecuzione.Visual Studio 2010 "Premere un tasto qualsiasi per continuare ..." non mostra

So che questo prompt dovrebbe essere visualizzato in modalità "start senza debug", ma non lo fa! Non appena inserisco un parametro e premo invio, la finestra della console si chiude senza mostrare l'output ...

Cosa devo fare per far sì che l'app della console mi chieda una chiave quando termina l'esecuzione?

+0

Lo hai eseguito con F5 o CTRL-F5? –

+2

Avvio dell'applicazione con Ctrl + F5 – brano

+2

Sembra una domanda valida per me. –

risposta

15

Secondo comments about a VS2010 bug, si dovrebbe ottenere un comportamento desiderato, se si imposta la proprietà del sottosistema del progetto su "console". Vai al menu Progetto> Proprietà> in nuova finestra seleziona Proprietà di configurazione> Linker> Sistema> proprietà SubSystem dovrebbe avere il valore Console (/ SUBSYSTEM: CONSOLE)

+0

Non ho trovato Linker in Proprietà di configurazione. Ma mi hai dato un'idea. Ho creato un nuovo progetto scegliendo il modello di applicazione della console e questo ha funzionato! Generalmente creo progetti vuoti, che devono aver causato il problema. –

+1

La sezione del linker deve essere tra le sezioni C/C++ e Manifest Tool (almeno è in VS2008). Se questa risposta è la risposta accettata, è necessario contrassegnarla come tale (fare clic sul segno di spunta vuoto a sinistra). – Dialecticus

+0

Sto usando Express edition, forse è diverso. Comunque, grazie! EDIT: Trovato! Grazie! –

0

nel metodo main, aggiungere un blocco Try...Catch...Finally come mostrato:

Questo farà sì che saranno visualizzate tutte le eccezioni che si stanno ottenendo, e che l'utente dovrà prendere provvedimenti per chiudere la finestra di comando.

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 domanda è su C++, ma la risposta è in C# – Dialecticus

+0

La domanda non è stata contrassegnata come C++ quando ho risposto: vedere http://stackoverflow.com/posts/9175627/revisions e notare che stavo visualizzando la revisione 1. –

0

Si prega di elaborare la domanda. Senza la minima idea di quello che stai cercando di fare è un po 'difficile da aiutare.

In ogni caso, se si sta cercando di fare una console app, forse ti sei dimenticato di aggiungere le seguenti righe alla fine del codice:

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

Ho provato entrambi con Ctrl + F5 e senza. Lo stesso comportamento è visto con qualsiasi codice semplice (sto lavorando con C++). In realtà sto seguendo un corso video e faccio tutto esattamente come mostrano. Ho persino copiato il loro codice, ma l'esecuzione anche con CTRL + F5 non aiuta ... Potrebbe essere necessario configurare qualcosa in Visual Studio? Ah, un altro dettaglio: lo sto eseguendo in una Virtual Box sul mio Mac. –

Problemi correlati