Console visual c++ 7.1

Le
Lahsen
Salut,

j'exécute un programme simple:




int main()
{
cout << " Bonjour" << "";

// ici, il me manque quelque chose pour garder la console à //
l'écran?

return 0;
}

Le problème c'est que la console s'affiche et disparaît aussitôt!!!?

J'ai vu que dans Dev-cpp il y'a:
sytem("Pause")
qui permet de garder la console à l'écran.

est ce qu'il y'a un équivalent pour visual c++?
J'ai cherché dans la msdn et sur le site de microsoft mais je n'ai rien
trouvé.

Merci pour vôtre aide.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #9737761
Lahsen wrote:

Le problème c'est que la console s'affiche et disparaît aussitôt!!!?

J'ai vu que dans Dev-cpp il y'a:
sytem("Pause")
qui permet de garder la console à l'écran.

est ce qu'il y'a un équivalent pour visual c++?



system("Pause");
ou
getchar();
ou
[Ctrl][F5]
...
Lahsen
Le #9737751
Christian ASTOR a écrit :
Lahsen wrote:

Le problème c'est que la console s'affiche et disparaît aussitôt!!!?

J'ai vu que dans Dev-cpp il y'a:
sytem("Pause")
qui permet de garder la console à l'écran.

est ce qu'il y'a un équivalent pour visual c++?



system("Pause");
ou
getchar();
ou
[Ctrl][F5]
...



Merci,
system("pause");
fonctionne bien:-)

mais j'ai un autre petit problème:
Comment vider le tompon du flux entrant: cin?

je l'utilise deux fois de suite

vector<int> vInt;
copy(istream_iterator<int>(cin),
istream_iterator<int>(),
back_inserter(vInt));
copy(vInt.begin(), vInt.end(), ostream_iterator<int>(cout,
"n"));
cout << endl;


istream_iterator<string> first(cin), last;
deque<string> col(first, last);
copy(col.begin(), col.end(), ostream_iterator<string>(cout, " "));
cout << endl;

et le deuxième affichage m'affiche en premier le caractère de fin de la
première entrée standard ( cin)!!!
Pierre Maurette
Le #9750361
Christian ASTOR, le 25/07/2007 a écrit :
Lahsen wrote:

Le problème c'est que la console s'affiche et disparaît aussitôt!!!?

J'ai vu que dans Dev-cpp il y'a:
sytem("Pause")
qui permet de garder la console à l'écran.

est ce qu'il y'a un équivalent pour visual c++?



system("Pause");
ou
getchar();
ou
[Ctrl][F5]
...



for(;;);
ou
while(1);

Bon, faut faire Ctrl C après ;-)

--
Pierre Maurette
Pierre Maurette
Le #9750351
Lahsen, le 24/07/2007 a écrit :
Salut,

j'exécute un programme simple:


...

int main()
{
cout << " Bonjour..." << "n";

// ici, il me manque quelque chose pour garder la console à //
l'écran?

return 0;
}

Le problème c'est que la console s'affiche et disparaît aussitôt!!!?

J'ai vu que dans Dev-cpp il y'a:
sytem("Pause")
qui permet de garder la console à l'écran.

est ce qu'il y'a un équivalent pour visual c++?
J'ai cherché dans la msdn et sur le site de microsoft mais je n'ai rien
trouvé.



Vous lancez sans doute votre .exe par double-clic. Ce n'est pas la
bonne solution à priori.
L'IDE de Microsoft - apparemment - lance une console, dans laquelle il
lance le programme et ajoute lui-même le PAUSE. Comme s'il lançait un
.bat:

programName (ou CALL programName)
PAUSE

C'est donc transparent. Si vous voulez lancer par double-clic, vous
pouvez d'ailleurs écrire ce .bat et double-cliquer dessus. Il y a sans
doute d'autres solutions.

Mais le mieux est d'ouvrir une invite de commandes (une console) dans
le répertoire de l'exe à tester. Vous lancez une fois puis vous
rappelez avec la flèche vers le haut, et vous avez accès aux sorties
précédentes (dans les limites du buffer d'écran que vous pouvez
paramétrer).

Vous pouvez même ouvrir directement la console au bon endroit à partir
de l'explorateur en bricolant la BdR, ou en lançant ces .reg:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTDirectoryshellCmdHere]
@="Invite de commande ici"

[HKEY_CLASSES_ROOTDirectoryshellCmdHerecommand]
@="cmd.exe /k cd ""%1"""


et celui-ci, moins utile:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTDriveshellCmdHere]
@="Invite de commande ici"

[HKEY_CLASSES_ROOTDriveshellCmdHerecommand]
@="cmd.exe /k cd ""%1"""

--
Pierre Maurette
Publicité
Poster une réponse
Anonyme