Comprendre la fonction system()

Voici un message reçu le 1er septembre 2004 (j'ai corrigé les fautes au passage) :

« Coucou Patrice.

J'ai une petite question embêtante, car je ne peux trouver la réponse malgré d'intenses recherches. La voici : pour arreter l'exécution d'une application console, j'utilise la ligne suivante :

system("pause");

Voici les inclusions :

#include <iostream>
#include <string>
#include <fstream>

Comment se fait-il que la compilation fonctionne? Ne devrais-je pas inclure la bibliothèque dos.h?

Si tu a une piste de solution, ça serait grandement apprécié!

Bisous Nic XXX ».

La réponse que j'ai proposé à cet ami suit :

Tout d'abord, dos.h n'est pas un fichier d'en-tête C++ (ou C), mais bien une implémentation locale à un système d'exploitation précis (comme windows.h par exemple).

Ensuite, remarque que la fonction que tu utilises est system(), pas "pause". La fonction system() se situe dans l'espace nommé std et a pour rôle de :

La fonction system() est une fonction portable prise dans <cstdlib> qui est toujours incluse par défaut, un peu comme le sont des trucs comme std::memcpy() par exemple. Elle ne sait rien sur les commandes que supporte l'interpréteur de commandes sous-jacent; elle passe le puck et c'est tout.

Cool? Bizous!


Valid XHTML 1.0 Transitional

CSS Valide !