12.07.2015 Views

Utilisation de Visual C++ 6.0 - Cnam

Utilisation de Visual C++ 6.0 - Cnam

Utilisation de Visual C++ 6.0 - Cnam

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Prise en main <strong>de</strong> <strong>Visual</strong> <strong>C++</strong> <strong>6.0</strong>1) premier programmeSélectionnez l’icône suivante pour démarrer l’application.La fenêtre suivante s’ouvre à l’écran.Pour créer un nouveau projet, cliquez sur le menu File, New :1


Dans la fenêtre New qui s’ouvre alors sur l’onglet Projects, sélectionnez « Win32 ConsoleApplication », indiquez le répertoire où vous voulez créer votre projet (ici D:\users\dut_info)puis tapez le nom <strong>de</strong> votre projet (ici, il s’agit <strong>de</strong> essai). Un répertoire essai sera crééautomatiquement dans D:\users\dut_info. Cliquez sur OK pour démarrer la création du projetessai.La fenêtre suivante s’ouvre. Sélectionnez « an empty project », puis cliquez sur le boutonFinish.2


La fenêtre suivante s’ouvre pour vous informer <strong>de</strong> la création d’un projet vi<strong>de</strong>. Cliquez sur lebouton OK.La fenêtre principale <strong>de</strong> <strong>Visual</strong> <strong>C++</strong> est maintenant la suivante.3


Sélectionnez l’onglet File View (en bas à gauche) puis cliquez sur le signe + à gauche <strong>de</strong>« essai files » pour obtenir :Nous allons maintenant pouvoir créer un fichier essai.c qui contiendra le programme. Pourcela, cliquez sur le menu File, New. Dans la fenêtre New qui s’ouvre alors sur l’onglet Files,sélectionnez « <strong>C++</strong> Source File » puis tapez le nom du fichier (essai.c). Il seraautomatiquement ajouté au projet essai. Cliquez sur OK pour créer ce fichier.Dans la fenêtre <strong>de</strong> gauche, cliquez sur le signe + à gauche du répertoire « Source Files » pourvoir le fichier créé :4


La gran<strong>de</strong> fenêtre <strong>de</strong> droite est un éditeur ouvert sur le fichier essai.c (dont le nom apparaîtentre crochets dans le ban<strong>de</strong>au bleu). Cliquez dans la fenêtre d’édition, puis saisissez votrepremier programme.Sauvez votre programme en cliquant sur la disquette qui se trouve dans la barre d’outils. Nouspouvons maintenant lancer la compilation en cliquant sur le menu Build, Build essai.exe oubien en tapant sur la touche F7 du clavier (il s’agit d’un raccourci). Vous pouvez voir dans lafenêtre inférieure (en bas <strong>de</strong> la fenêtre principale) :5


Cette fenêtre contient les messages d’erreur (error) ou les avertissements (warning) renvoyéspar le compilateur. Ici, il n’y a qu’un avertissement que vous pouvez ignorer. Le compilateura créé un exécutable essai.exe que nous pouvons lancer en cliquant sur le menu Build,Execute essai.exe ou bien en appuyant sur les touches Ctrl+F5 du clavier. Une fenêtre consoles’ouvre afin <strong>de</strong> lancer essai.exe. La console s’ouvre automatiquement puisqu’il s’agit d’uneapplication Windows non-graphique qui doit donc obligatoirement s’exécuter à l’ai<strong>de</strong> d’uninterpréteur <strong>de</strong> comman<strong>de</strong>. Le programme a bien affiché « coucou » sur la première ligne,puis il s’est arrêté. Tapez n’importe quelle touche du clavier pour fermer la console.2) trouver une erreur <strong>de</strong> compilation avec <strong>Visual</strong> <strong>C++</strong>Revenez dans l’éditeur et saisissez le programme suivant à la place du programmeprécé<strong>de</strong>nt :6


Pendant la saisie, faites attention à ce que l’éditeur soit en mo<strong>de</strong> Insertion et pas en mo<strong>de</strong>Overstrike. On passe <strong>de</strong> l’un à l’autre en appuyant sur la touche Insert du clavier. En mo<strong>de</strong>Overstrike, les trois lettres OVR apparaissent en noir en bas et à droite <strong>de</strong> la fenêtreprincipale. Si vous cliquez au milieu d’un mot puis que vous tapez du texte, celui-ci écrase letexte existant. En mo<strong>de</strong> Insertion, les trois lettres OVR apparaissent en gris et votre textes’insère dans le texte existant. Vous noterez aussi que l’éditeur <strong>de</strong> <strong>Visual</strong> <strong>C++</strong> vous indique lenuméro <strong>de</strong> ligne ainsi que le numéro <strong>de</strong> colonne où se trouve le curseur.La compilation ne doit plus maintenant donner ni erreur, ni warning.<strong>Visual</strong> <strong>C++</strong> apporte <strong>de</strong> nombreuses commodités pour éviter les erreurs <strong>de</strong> syntaxe. Parexemple, lorsque vous tapez une fonction dans l’éditeur, <strong>Visual</strong> <strong>C++</strong> vous montreautomatiquement la syntaxe <strong>de</strong> cette fonction (en fait, il s’agit <strong>de</strong> son prototype).7


D’autre part, vous pouvez sélectionner un mot-clé du langage (qui apparaît en bleu dans leprogramme) ou bien une fonction dans l’éditeur et appuyer sur la touche F1 du clavier. L’ai<strong>de</strong>en ligne démarre alors automatiquement. Par exemple, sélectionnez le mot-clé while etappuyez sur F1. Le navigateur Internet démarre et la fenêtre « Rubriques trouvées apparaît :Sélectionnez la rubrique « The C while statement » à l’emplacement « C/<strong>C++</strong> languages »puis cliquez sur le bouton Afficher. L’ai<strong>de</strong> en ligne affiche maintenant la page sur le while.Cette page, en anglais, contient généralement un exemple d’utilisation.8


La documentation en ligne est le premier endroit où vous <strong>de</strong>vez chercher l’information quivous manque. Introduisons maintenant une erreur dans notre programme en supprimant le ; àla fin <strong>de</strong> la ligne 10 (i = 1;). Le compilateur indique maintenant l’erreur suivante ( ;manquant avant somme) :Si vous double-cliquez sur le message d’erreur, un curseur bleu va automatiquement se placersur la ligne correspondante dans l’éditeur.Vous noterez que l’erreur a été vue sur la ligne qui suit le ; manquant. Pour obtenir plus d’ai<strong>de</strong>sur cette erreur, vous pouvez sélectionner le co<strong>de</strong> <strong>de</strong> l’erreur, puis appuyer sur F1.L’ai<strong>de</strong> en ligne vous explique alors à quoi correspond cette erreur. Cette métho<strong>de</strong> marche <strong>de</strong>la même manière avec les avertissements.9


Les erreurs <strong>de</strong> compilation ne sont hélas pas toujours aussi facile à trouver. Si par exemplevous oubliez l’accola<strong>de</strong> après le while ligne 12, les messages sont les suivants :Le compilateur est alors complètement perdu parce qu’une paire d’accola<strong>de</strong>s est déséquilibréeet qu’il n’y a plus autant d’accola<strong>de</strong> ouvrante ({) que d’accola<strong>de</strong> fermante (}). Il ne voitl’erreur que sur la <strong>de</strong>rnière ligne (celle du printf), ce qui ne nous indique pas grand chose.Double-cliquer sur un <strong>de</strong>s messages ne vous donne pas non plus beaucoup d’information.Dans ce cas, il n’y a pas vraiment <strong>de</strong> métho<strong>de</strong> logique pour trouver l’erreur <strong>de</strong> compilation.Les erreurs d’équilibrage (accola<strong>de</strong>s {} ou bien parenthèses()) sont les plus difficiles àdécouvrir. Mais en utilisant l’in<strong>de</strong>ntation dans vos programmes, il <strong>de</strong>vient facile <strong>de</strong> les éviter.L’éditeur vous propose une ai<strong>de</strong> pour vérifier à quelle accola<strong>de</strong> ouvrante correspond uneaccola<strong>de</strong> fermante (cela marche aussi avec les parenthèses). Il suffit pour cela <strong>de</strong> placer lecurseur près <strong>de</strong> l’accola<strong>de</strong> puis d’appuyer sur les touches Ctrl+E du clavier. Le curseur sedéplace alors automatiquement vers l’accola<strong>de</strong> inverse correspondante.10


En règle générale, il faut toujours commencer par corriger la première erreur dans la liste(quand il y a plusieurs messages d’erreur).Notes importantesI) La présence d’une erreur <strong>de</strong> compilation empêche la création du programmeexécutable ce qui empêche donc la mise au point (le <strong>de</strong>bug).II) Les warnings étant rarement un bon signe, il est préférable <strong>de</strong> les éliminer. Unprogramme correctement écrit ne contient généralement pas <strong>de</strong> warning.3) <strong>de</strong>bugger un programme avec <strong>Visual</strong> <strong>C++</strong>Ce n’est pas parce que le programme est écrit et compilé sans erreurs ni warnings qu’ilfonctionne comme prévu. Quand le programme ne s’exécute pas comme vous l’auriezsouhaité, il faut passer à la phase <strong>de</strong> mise au point (le <strong>de</strong>bug). Pour cela, <strong>Visual</strong> <strong>C++</strong> offre un<strong>de</strong>bugger intégré très pratique à l’usage. Voyons son fonctionnement avec le programmeprécé<strong>de</strong>nt. Placez le curseur sur la ligne 7 <strong>de</strong> l’éditeur (avant le printf) puis cliquez avec lebouton droit <strong>de</strong> la souris. Le menu contextuel suivant apparaît :Cliquez sur « Insert/Remove Breakpoint » pour insérer un point d’arrêt dans votre programme(ou bien appuyez sur la touche F9 du clavier). Il apparaît en rouge dans la colonne <strong>de</strong> gauche<strong>de</strong> l’éditeur.11


Lorsque vous lancez le programme avec F5, une fenêtre console s’ouvre. Le programmecommence son exécution puis s’arrête sur le premier point d’arrêt rencontré. Vous êtes alorsdans le <strong>de</strong>bugger. La fenêtre principale <strong>de</strong> <strong>Visual</strong> <strong>C++</strong> est maintenant séparée en trois zones :l’éditeur, la zone <strong>de</strong> visualisation <strong>de</strong>s variables locales (en bas à gauche) et la zone Watch (enbas à droite).La flèche jaune dans la colonne <strong>de</strong> gauche <strong>de</strong> l’éditeur indique la ligne qui va êtreprochainement exécutée. Ici, elle se trouve sur le point d’arrêt, ce qui est normal puisque leprogramme s’est arrêté à cet endroit. Nous pouvons maintenant avancer dans le programmeen mo<strong>de</strong> pas à pas. Cliquez sur le menu Debug, Step over ou bien sur l’icôneappuyez sur la touche F10 du clavier.ou encore12


La flèche jaune a avancé d’une ligne et l’instruction printf a été exécutée comme vous pouvezle voir dans la console.Appuyez à nouveau sur F10. La flèche n’avance pas et les icônes d’avancement pas à pas<strong>de</strong>viennent grises :C’est normal car vous êtes en train d’exécuter un scanf. Cette fonction attend une saisie auclavier. Il faut donc faire apparaître la console et saisir une valeur :Au moment où vous tapez sur la touche « Entrée », la fenêtre <strong>de</strong> <strong>Visual</strong> <strong>C++</strong> re-apparaît aupremier plan. La flèche a avancé d’une ligne.13


Dans la fenêtre inférieure gauche, cliquez sur l’onglet « Locals ». Vous pouvez voir que lecontenu <strong>de</strong> N vaut maintenant 5 :Avançons <strong>de</strong> <strong>de</strong>ux lignes (F10, F10). Le curseur pointe sur le while,et toutes les variables sont initialisées.La valeur <strong>de</strong> la variable qui vient <strong>de</strong> changer apparaît en rouge.14


Vous pouvez voir le contenu <strong>de</strong> ces variables en hexadécimal. Pour cela, placez le curseur <strong>de</strong>la souris dans la fenêtre contenant les variables, cliquez avec le bouton droit <strong>de</strong> la souris puissur « Hexa<strong>de</strong>cimal Display ».Toutes les variables s’affichent maintenant en hexadécimal.Pour revenir en décimal, refaites la même opération. Vous pouvez à tout moment interromprele mo<strong>de</strong> <strong>de</strong>bug en cliquant sur l’icône « Stop Debugging » . Vous retrouvez alors l’aspectnormal <strong>de</strong> la fenêtre <strong>de</strong> <strong>Visual</strong> <strong>C++</strong>. Vous pouvez à tout moment continuer l’exécution duprogramme en cliquant sur l’icône « Go » (ou sur F5). Le programme s’exécute alorsjusqu’au point d’arrêt suivant ou jusqu’à la fin s’il n’y en a plus. La console se ferme alorsautomatiquement. Pour supprimer un point d’arrêt, placer le curseur sur la ligne où il setrouve, cliquez avec le bouton droit <strong>de</strong> la souris puis cliquez sur « Remove Breakpoint » dansle menu contextuel qui apparaît. Notez bien qu’un nombre quelconque <strong>de</strong> point d’arrêt peutêtre placé dans un programme.15


Vous pouvez grâce au <strong>de</strong>bugger voir l’évolution <strong>de</strong> la valeur <strong>de</strong> vos variables en exécutantvotre programme pas à pas. Mettez par exemple un point d’arrêt sur le while, puis lancez leprogramme avec F5 (n’oubliez pas <strong>de</strong> taper une valeur dans la console, le programme étantbloqué sur le premier scanf). Exécutez ensuite le programme en mo<strong>de</strong> pas à pas (avec F10)pour voir vos variables évoluer à chaque tour dans le while. Vous pouvez à tout momentconnaître la valeur d’une variable <strong>de</strong> votre programme en plaçant le curseur <strong>de</strong> la souris sur lenom <strong>de</strong> cette variable (ici par exemple, la variable somme) ou encore en sélectionnant le nom<strong>de</strong> la variable et en plaçant le curseur sur la sélection :De la même manière, vous pouvez voir la valeur d’une expression en la sélectionnant puis enplaçant le curseur <strong>de</strong> la souris sur cette sélection (ici, l’expression somme + i) :Si vous êtes en mo<strong>de</strong> hexadécimal, toutes les variables et expression apparaissent enhexadécimal.En mo<strong>de</strong> <strong>de</strong>bug, vous pouvez rajouter différentes fenêtres sous la fenêtre d’édition. Pour cela,placez le pointeur <strong>de</strong> la souris sur la ligne horizontale qui sépare les zones (le curseur changed’apparence) puis cliquez avec le bouton droit <strong>de</strong> la souris :16


La partie supérieure du menu contextuel vous indique les fenêtres qu’il est possible <strong>de</strong> faireapparaître. Il suffit <strong>de</strong> cliquer sur la ligne pour que la fenêtre apparaisse (si elle n’existe pas)ou disparaisse (si elle existe). Seules les fenêtres Watch, Variables et Memory nousintéressent pour l’instant. Nous avons déjà vu la fenêtre Variables qui permet <strong>de</strong> visualiser lecontenu <strong>de</strong>s variables locales. Vous ne pouvez pas ajouter ou retirer <strong>de</strong> variables dans cettefenêtre. Par contre, vous pouvez modifier la valeur d’une variable en double cliquant dans lechamp Value <strong>de</strong> la variable, puis en tapant une nouvelle valeur. La prise en compte estimmédiate.La fenêtre Watch (évaluation) est beaucoup plus puissante car elle permet d’évaluer n’importequelle expression qu’elle existe ou non dans votre programme. Vous pouvez :• Soit sélectionner une variable ou une expression dans votre programme puis la tirer dans lafenêtre Watch. Vous pouvez alors modifier sa valeur comme dans la fenêtre Variable.• Soit taper directement une expression. Pour cela, double-cliquez dans un champ Name vi<strong>de</strong>17


puis tapez l’expression à évaluer.En mo<strong>de</strong> pas à pas, cette expression évolue avec les variables qui la compose. Poursupprimer une expression en cours d’évaluation, il suffit <strong>de</strong> sélectionner la ligne puis <strong>de</strong>taper sur la touche Suppr du clavier.La fenêtre Memory permet <strong>de</strong> visualiser n’importe quelle emplacement dans la mémoirevirtuelle associée au programme, c’est-à-dire <strong>de</strong> l’adresse 0 (0x00000000) à l’adresse 2 32 -1(0xFFFFFFFF) sous Windows. Lorsque la fenêtre apparaît, on obtient :Vous pouvez déplacer la fenêtre Memory en cliquant dans son ban<strong>de</strong>au bleu puis en plaçant lerectangle obtenu entre les <strong>de</strong>ux fenêtres Watch et Variables comme sur la figure suivante :18


Il suffit maintenant <strong>de</strong> taper une adresse dans le champ Address <strong>de</strong> la fenêtre Memory pourvoir le contenu <strong>de</strong> la mémoire virtuelle à partir <strong>de</strong> cette adresse (ici, 0x0012FF78).La fenêtre Memory comprend trois champ d’affichage : les adresses, les données sous formehexadécimale et les données sous forme <strong>de</strong> co<strong>de</strong> ASCII. L’adresse à gauche <strong>de</strong> la lignecorrespond à l’adresse du premier octet <strong>de</strong> donnée <strong>de</strong> la ligne. Les octets suivants se trouventune case mémoire plus loin. Pour cet exemple, si on prend la première ligne, on trouve :19


adresse donnée0x0012FF78 040x0012FF79 030x0012FF7A 020x0012FF7B 010x0012FF7C 04Le premier octet <strong>de</strong> la ligne suivante (00) se trouve donc bien à l’adresse 0x0012FF7D (c’està dire 0x0012FF78 + 5).Cette possibilité <strong>de</strong> voir le contenu <strong>de</strong> la mémoire est très commo<strong>de</strong> quand on utilise lespointeurs. A titre d’exemple, vous pouvez faire les opérations suivantes :1. <strong>Visual</strong>iser l’expression &i dans la fenêtre Watch (&variable indique l’adresse <strong>de</strong> lavariable). Ici l’adresse <strong>de</strong> i vaut 0x0012FF7C.2. Tapez cette adresse dans la fenêtre Memory.3. Vérifier la valeur <strong>de</strong> i en comparant avec la valeur indiquée dans la fenêtre Variables.La variable i est un entier 32 bits codé sur 4 octets dont la valeur vaut 4, soit 0x00000004 enhexadécimal. On voit bien que l’octet <strong>de</strong> poids faible se trouve à l’adresse 0x0012FF7C et queles trois octets suivants se trouvent au-<strong>de</strong>ssus dans la mémoire.Vous pouvez changer le nombre d’octets par ligne en changeant la largeur <strong>de</strong> la fenêtre. Onessaye généralement d’obtenir un multiple <strong>de</strong> 4 car c’est plus commo<strong>de</strong> pour lire les entiers.20


4) les fonctionsIl est courant d’utiliser <strong>de</strong>s fonctions dans un programme en C comme dans l’exemplesuivant :Lancé avec F5, le programme s’arrête sur la ligne 7, juste avant l’appel <strong>de</strong> la fonctionpuissance().En cliquant sur le bouton « Step Over » (ou bien en appuyant sur la touche F10), vouspassez à la ligne suivante sans rentrer dans la fonction (mais celle-ci est quand mêmeexécutée) :21


alors qu’en cliquant sur le bouton « Step Into »pas dans la fonction :(F11), vous pouvez entrer en mo<strong>de</strong> pas àUne fois que vous êtes dans une fonction, vous pouvez toujours utiliser le mo<strong>de</strong> pas à pas(« Step Out » ou « Step Over » à votre convenance). Si vous souhaitez arrêter le mo<strong>de</strong> pas àpas et sortir <strong>de</strong> la fonction, il suffit <strong>de</strong> cliquer sur la touche « Step Out » .22


Si vous utilisez le « Step Into » avec la fonction printf(), vous allez voir la définition <strong>de</strong> cettefonction, ce qui n’a rien <strong>de</strong> particulièrement intéressant.Il est donc préférable d’utiliser « Step Over » pour ne pas rentrer dans les fonctions standardsdu C et « Step Into » pour rentrer dans vos fonctions. Il est à noter qu’un point d’arrêt peutêtre placé n’importe où dans un programme, y compris à l’intérieur d’une fonction. Vous avezaussi la possibilité avec la touche « Run to Cursor » d’exécuter votre programme jusqu’àune certaine ligne. Pour cela, cliquez sur une ligne dans votre fichier source pour y placer lecurseur puis cliquez sur « Run to Cursor ».Les variables locales ne peuvent être observées que lorsque vous êtes dans la fonction où ellessont définies. Par exemple, vous pouvez voir le contenu <strong>de</strong> l’entier n dans la zone Watch tantque vous êtes dans la fonction main().23


Par contre, dès que vous rentrez dans la fonction puissance(), n cesse d’être visible (voir : lemessage d’erreur dans la zone Watch).Il se produit le même phénomène pour les variables locales <strong>de</strong> la fonction puissance() commei et puis.5) les pointeurs et les tableauxSous <strong>Visual</strong> <strong>C++</strong>, les pointeurs sont manipulés comme les autres types <strong>de</strong> variables. Prenonsl’exemple du programme suivant :24


Après lancement avec F5, nous allons placer dans la zone Watch les variables &n, ptri1, &pet ptri2 (en les sélectionnant dans le source puis en les tirant dans la zone) :Les pointeurs sur entier ptri1 et ptri2 sont maintenant visibles. En cliquant sur le signe +à gauche <strong>de</strong>s pointeurs, nous découvrons la valeur pointée :Comme nous avons mis un point d’arrêt au début du programme, les pointeurs ne sont pasencore initialisés, ce qui explique les messages d’erreurs. Après <strong>de</strong>ux « Step Over »,25


prti1 contient l’adresse <strong>de</strong> n et pointe sur la valeur contenue par n et prti2 contientl’adresse <strong>de</strong> p et pointe sur la valeur contenue par p.Dans le cas où vous utiliseriez un tableau comme dans l’exemple suivant :Vous pouvez voir le contenu du tableau tab en procédant <strong>de</strong> la manière suivante. Lancez leprogramme avec F5 puis tirez le nom du tableau dans la fenêtre Watch et cliquez sur lesigne + :26


Le contenu <strong>de</strong>s 6 cases du tableau apparaît. Il est encore non initialisé puisque le point d’arrêtse trouve au début du programme. A chaque fois que vous cliquerez sur « Step Over », vousverrez le tableau se remplir, la <strong>de</strong>rnière valeur modifiée apparaissant en rouge.27


Vous pouvez aussi visualiser le contenu d’une case particulière du tableau en saisissant cettecase dans la zone Watch :Vous pouvez aussi voir le contenu du tableau directement dans la mémoire en faisantapparaître la zone Memory et en tapant l’adresse du tableau dans le champ Address :A chaque activation <strong>de</strong> « Step Over », vous verrez le tableau se remplir dans la zone Watch etles 4 octets correspondant à la valeur entière apparaîtront dans la mémoire.28


6) passage <strong>de</strong> paramètres sur la ligne <strong>de</strong> comman<strong>de</strong>Sous <strong>Visual</strong> <strong>C++</strong>, la console est ouverte automatiquement au moment du lancement duprogramme (avec Ctrl+F5 par exemple). Il est donc impossible <strong>de</strong> passer <strong>de</strong>s paramètres à lafonction main() au moment du lancement. Pour passer <strong>de</strong>s paramètres sur la ligne <strong>de</strong>comman<strong>de</strong>, il faut procé<strong>de</strong>r <strong>de</strong> la manière suivante. Prenons le programme suivant commeexemple :Pour spécifier les paramètres à passer, cliquez sur :Sélectionnez l’onglet Debug dans la fenêtre qui apparaît :29


Tapez les paramètres in.txt et out.txt dans la case « Program arguments » :puis cliquez sur OK. Placez un point d’arrêt sur la ligne contenant le if puis lancez leprogramme essai en appuyant sur F5 :30


En plaçant argc et argv dans la zone Watch, vous pouvez constater que les paramètres ontbien été passés.Vous pouvez maintenant avancer en mo<strong>de</strong> pas à pas et vérifier que in.txt a bien été copié dansle tableau InFileName et que le pointeur OutFileName contient l’adresse <strong>de</strong> argv[2].Le programme essai affiche comme prévu dans la console :31


7) emplacement <strong>de</strong>s fichiersVoyons maintenant l’emplacement <strong>de</strong>s fichiers dans un projet <strong>Visual</strong> <strong>C++</strong>. Lors <strong>de</strong> la créationdu projet suivant (essai) :Les répertoires suivants sont créés sur le disque dur :Dans cet exemple, le projet essai a été créé dans le répertoire c:\temp. Le répertoire essaicontient (entre autres) le fichier source essai.c et le répertoire Debug contient l’exécutableessai.exe (que vous pouvez d’ailleurs lancer à la main en ouvrant une console en <strong>de</strong>hors <strong>de</strong><strong>Visual</strong> <strong>C++</strong>). Par défaut, les créations et les ouvertures <strong>de</strong>s fichiers utilisateur se font dans lerépertoire du projet (ici, c:\temp\essai). Par exemple, si vous lancer le programme :32


Le fichier sortie.txt va être créé dans le répertoire essai.Si vous souhaitez modifier le répertoire où les fichiers sont ouverts, il suffit <strong>de</strong> cliquez surProject, Settings puis <strong>de</strong> sélectionner l’onglet Debug.Tapez le nom du nouveau répertoire dans la case Working directory puis cliquez sur OK.Dans notre exemple, le fichier sortie.txt est maintenant créé dans le répertoire c:\temp :33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!