8
votes

Visual C ++ Activer la console

J'ai créé un projet vide dans Visual C ++, mais j'ai maintenant besoin de la console pour afficher la sortie de débogage.

Comment puis-je activer la console sans recréer le projet ou montrer la sortie dans la fenêtre de sortie VS?


0 commentaires

3 Réponses :


10
votes

Vous pouvez toujours appeler Alloconsole en code Pour créer une console pour votre application et joignez-la au processus. freeconsole supprimera la console, détachant le processus de aussi.

Si vous souhaitez que toutes les données de flux de sortie standard accéder à la console, vous devez également utiliser SetStDhandle pour rediriger la sortie de manière appropriée. Voici un page indiquant le code de travail pour effectuer ce processus complet , y compris l'affectation de la console et redirection de la sortie.


6 commentaires

Quand j'ai fait cela dans le passé, il y avait des cerceaux que je devais sauter pour que STDOUT soit en réalité dans la fenêtre de la console. Par défaut, il ne le fait pas.


@ Dash-Tom-Bang: Très vrai. La console, par défaut, ne rediriera pas la sortie standard. J'ai ajouté un lien vers une page indiquant le code de travail qui démontre tout ce qui est requis.


Une console apparaît, mais les données que j'ai installées dans STD :: Cout ne s'affiche pas là-bas.


Wow, c'est beaucoup de code pour une tâche que je pensais être facile. Merci pour le lien, je vais marquer cette réponse comme solution.


Ouais - c'est un peu ennuyeux - mais c'est un ensemble utile de code dans le signet. Je trouve que j'ai fait ce plusieurs fois ...


@ Attic je sais que ce fil est très vieux mais regardez la réponse ci-dessous. C'est vraiment sympa et soigné.



1
votes

Vous pouvez écrire dans la fenêtre de sortie VS avec la sortieDebugstring. http://msdn.microsoft.com/en-us/ Bibliothèque / AA363362 (vs.85) .aspx


0 commentaires

25
votes

Voici quelques codes que vous pouvez insérer pour obtenir une fenêtre de console dans une application Windows Gui'D qui commence à WinMain. Il y a d'autres moyens d'accomplir cela, mais c'est l'extrait le plus compact que j'ai trouvé.

//Alloc Console
//print some stuff to the console
//make sure to include #include "stdio.h"
//note, you must use the #include <iostream>/ using namespace std
//to use the iostream... #incldue "iostream.h" didn't seem to work
//in my VC 6
AllocConsole();
freopen("conin$","r",stdin);
freopen("conout$","w",stdout);
freopen("conout$","w",stderr);
printf("Debugging Window:\n");


3 commentaires

@RYANANWOODARD Merci beaucoup


@RYANANWOODARD Je voudrais aussi une explication plus approfondie.


Court et doux. Merci.