language c++

Upload: sidimohamedben

Post on 14-Oct-2015

58 views

Category:

Documents


1 download

TRANSCRIPT

  • Le langage C/C++ TOUHTOUH Samira

    Ecole Nationale des Sciences Appliques dEl Jadida

    [email protected]

    1

  • Structure de base de C++

    2

  • Les variables :

    Une variable est un identificateur qui dsigne un type dinformation

    dans un programme. Elle est situe dans un endroit prcis de la

    mmoire de la machine et reprsente souvent une donne lmentaire,

    cest--dire une valeur numrique ou un caractre.

    Les types de donnes de base sont les suivant :

    - int : valeur entire

    - char : caractre simple

    - float : nombre rel en virgule flottante

    - double : nombre rel en virgule flottante double prcision.

    3

  • Pour dclarer une variable, on prcise son type suivi de son

    identificateur (son nom).

    TYPE NOM (VALEUR);

    TYPE NOM = VALEUR;

    Lidentificateur dune variable est compos dun ensemble de chiffres ou de lettres dans un ordre quelconque qui suit les rgles suivantes :

    - Le premier caractre doit tre obligatoirement une lettre.

    - Les minuscules ou les majuscules sont autorises et considres comme diffrentes.

    - Le caractre (underscore ou blanc soulign) est autoris.

    - Il faut veiller ne pas utiliser des mots-cls ou mots rservs du langage C++.

    4

  • La dclaration dune variable peut tre assimile la cration en mmoire dun contenant dont le type serait la taille (ou dimension) et le contenu, la valeur.

    Quand aucune valeur na encore t affecte une variable, seule sa place est rserve. Son contenu ntant pas encore dfini, il viendra ultrieurement.

    Au cours de la rdaction dun programme, une variable peut tre dclare tout moment, toutefois, les dveloppeurs ont pour habitude de regrouper les dclarations, ce qui apporte une meilleure lisibilit.

    5

  • Initialisation et constantes

    Il est possible dinitialiser une variable lors de sa dclaration comme

    dans :

    int n = 15 ;

    Ici, pour le compilateur, n est une variable de type int dans laquelle il placera la valeur 15 ;

    La dclaration prcdente pourrait tre remplace par une dclaration ordinaire (int n), suivie un peu plus loin dune affectation (n=15) ; la seule diffrence rsiderait dans linstant o n recevrait la valeur 15.

    Il est possible de dclarer que la valeur dune variable ne doit pas changer lors de lexcution du programme. Par exemple, avec : const int n = 20 ;

    6

  • Les oprateurs arithmtiques en C++.

    Prsentation des oprateurs

    Comme tous les langages, C++ dispose doprateurs classiques binaires (cest--dire portant sur deux oprandes ), savoir laddition (+), la soustraction (-), la multiplication (*) et la division (/), ainsi que dun oprateur unaire (cest--dire ne portant que sur un seul oprande) correspondant loppos not - (comme dans -n ou dans -x+y).

    Les oprateurs binaires ne sont a priori dfinis que pour deux oprandes ayant le mme type parmi : int, long int, float, double et long double.

    Ils fournissent un rsultat de mme type que leurs oprandes.

    7

  • Le cast

    Lorsque, les deus oprandes sont de type diffrent, le compilateur

    prvoit une conversion suivant lordre : char > short > long > float > double,

    Le plus petit est automatiquement transform dans le plus grand,

    Le rsultat de lopration sera lui aussi du type du plus grand

    8

  • Exemple :

    int a=64,b=2;

    float x=1,y=2;

    b=7/b;

    x=7/b;

    x=7/y; x=7.0/b;

    x=((float)(a+1))/b;

    9

  • Les priorits relatives des oprateurs

    Lorsque plusieurs oprateurs apparaissent dans une mme expression, il est ncessaire de savoir dans quel ordre ils sont mis en jeu.

    En C++, comme dans les autres langages, les rgles

    sont naturelles et rejoignent celles de lalgbre traditionnelle ;

    Les oprateurs unaires + et - ont la priorit la plus leve. On trouve ensuite, un mme niveau, les oprateurs *, / et %. Enfin, sur un dernier niveau, apparaissent les oprateurs binaires + et -.

    10

  • 11

  • En cas de priorits identiques, les calculs seffectuent de gauche

    droite.

    Les parenthses permettent doutrepasser ces rgles de priorit, en forant le calcul pralable de lexpression quelles contiennent.

    12

  • Affectation L'oprateur d'affectation affecte une valeur une variable.

    a = 6;

    Affectation compose Quand on veut modifier la valeur d'une variable en effectuant une opration sur la valeur actuellement stocke dans cette variable, nous pouvons utiliser des oprateurs d'affectation composs:

    a += b; a = a + b;

    a -= 2; a = a-2;

    a /=b; a= a/b;

    a *= b+1; a = a* (b+1);

    13

  • Exemple : trouver la valeur de a

    14

    #include using namespace std; int main () { int a, b=3; a = b; a+=2; cout

  • Les oprateurs relationnels

    Comme tout langage, C++ permet de comparer des expressions laide

    doprateurs classiques de comparaison. En voici un exemple :

    2 * a > b + 5

    Le rsultat de la comparaison est une valeur boolenne prenant lune des deux valeurs true ou false.

    Les expressions compares pourront tre dun type de base quelconque et elles seront soumises aux rgles de conversion.

    15

  • Voici la liste des oprateurs relationnels existant en C++ :

    Exemple 1: Exemple 2: a=2, b= 3, c = 6

    16

    (7 ==5) (5 > 4) (3 !=2) (6 >= 6) (5 < 5)

    (a == 5) (a*b >= c) (b+4 > a*c) ((b = 2) ==a)

  • Les oprateurs logiques (!, &&, | |)

    Loprateur ! renvoi la valeur boolenne oppose de l'valuation de son oprande

    Exemple :

    !(5 == 5)

    !(6

  • Les oprateurs conditionnels

    L'oprateur conditionnel value une expression retournant une valeur si cette expression est vraie et une deuxime valeur si l'expression est value comme fausse. Son format est le suivant:

    condition ? A : B

    Exemple : #include using namespace std; int main () { int a,b,c; a=2; b=7; c = (a>b) ? a : b; cout

  • Loprateur virgule

    L'oprateur virgule (,) est utilis pour sparer deux ou plusieurs expressions qui sont inclus o une seule expression est attendue.

    Exemple :

    a = (b=3, b+2);

    19

  • Oprateurs dincrmentation et de dcrmentation

    Incrmentation

    Cest parmi les oprations, les plus courantes en informatique. Il permet par exemple de passer du niveau 4 au niveau 5.

    Int nombreLivres; // Il y a 4 livres ++ nombreLivres; // A partir dici, il y a 5 livres

    Int nombreLivres; // Il y a 4 livres nombreLivres= nombreLivres+ 1; // A partir dici, il y a 5 livres

    20

  • La dcrmentation

    La dcrmentation est lopration inverse, soustraire 1 une variable,

    Int nombreLivres(4); // il y a 4 livres

    nombreLivres = nombreLivres-1; // on en enlve un, A partir dici, il y a 3 livres.

    Int nombreLivres(4); // Il y a 4 livres dans la partie

    -- nombreLivres; // On en enlve un a partir dici, il ya 3

    21

  • nonc Soient les dclarations suivantes : int n = 5, p = 9 ; int a ; float x ; Quelle est la valeur affecte aux diffrentes variables concernes par chacune des instructions suivantes ? a = n < p ; (1 a = n == p ; (2 a = p % n + p > n ; (3 x = p / n ; (4 x = (float) p / n ; (5 x = (p + 0.5) / n ; (6 x = (int) (p + 0.5) / n ; (7 a = n * (p > n ? n : p) ; (8 a = n * (p < n ? n : p) ; (9

    22

  • Les entres-sorties conversationnelles de C++

    Affichage lcran avec cout Exemple 1 : Considrons ces instructions : Int n = 25 ; cout

  • Exemple 2

    Les deux instructions peuvent se condenser en une seule :

    cout

  • cin

    Le dispositif d'entre standard est en gnral le clavier. Manipulation de l'entre standard en C++ se fait en appliquant l'oprateur d'extraction (>>) sur le flux cin. L'oprateur doit tre suivie par la variable qui va stocker les donnes qui va tre extrait du flux.

    int n;

    cin>> n;

    La premire instruction dclare une variable de type int appel n, et le second attend une entre de cin (sur le clavier) afin de le stocker dans cette variable entire.

    25

  • #include using namespace std; int main () { int i; cout > i; cout
  • 27

  • On peut galement utiliser cin pour demander plus d'une entre de rfrence :

    cin >> n >> p ;

    est quivalent :

    cin n;

    cin p;

    28

  • Les instructions de contrle

    Un programme est en gnral pas limite une squence linaire

    d'instructions. Au cours de son processus, il peut rpter le code ou prendre des dcisions. Pour ce faire, C++ fournit des structures de contrle qui servent prciser ce qui doit tre fait par notre programme, quand et dans quelles circonstances.

    Les structures de contrle permettent, de contrler lexcution du programme en fonction de critres particuliers.

    Le C et le C++ disposent de toutes les structures de contrle classique des langages de programmation comme les tests, les boucles, etc.

    29

  • La structure conditionnelle if

    La structure conditionnelle if permet de raliser un test et dexcuter

    une instruction ou non selon le rsultat de ce test. Sa syntaxe est la

    suivante :

    O test est une expression dont la valeur est boolenne ou entire. Toute valeur non nulle est considre comme vraie. Si le test est vrai, lopration est excut. Ce peut tre une instruction ou un bloc dinstructions :

    if (test) opration;

    30

  • Exemple 1:

    Exemple 2:

    Si on veut utiliser plusieurs lignes dinstructions, on utilise les accolades :

    31

  • 32

    If (test) opration1; else opration2;

    Nous pouvons prciser ce que nous voulons si la condition n'est pas remplie en utilisant le mot-cl else. Sa forme est :

    if (x == 100) cout

  • La boucle for

    La structure de contrle for est lune des plus importantes. Elle permet de

    raliser toutes sortes de boucles et, en particulier, les boucles itrant sur les valeurs dune variable de contrle. Sa syntaxe est la suivante :

    Ce type de boucle, permet de condenser :

    une initialisation ;

    une condition ;

    une incrmentation.

    for (initialisation; test ; incrmentation) opration; { }

    33

  • 34

    int main() { int compteur(0); for (compteur = 0 ; compteur < 10 ; compteur++) { cout

  • La boucle while

    35

    while (condition)

    { }

    Tout ce qui est entre accolades sera rpt tant que la condition est vrifie.

    int main() { int age(-1); // Nombre ngatif pour pouvoir entrer dans la boucle while (age < 0) { cout age; }

    cout

  • 36

    La boucle do while

    Cette boucle est trs similaire la prcdente, Mais, la condition n'est teste qu' la fin, Le contenu de la boucle sera toujours lu au moins une fois.

    do { } while (condition);

  • 37

    Exemple :

    int main() { int age(0); do { cout age; } while (age < 0); cout

  • 38

    Enonc Ecrire un programme qui calcule les racines carres de nombres fournis en donne. Il sarrtera lorsquon lui fournira la valeur 0. Il refusera les valeurs ngatives. Son excution se prsentera ainsi : donnez un nombre positif : 2 Sa racine carre est : 1.414214 donnez un nombre positif : -1 svp positif donnez un nombre positif : 5 sa racine carre est : 2.236068 donnez un nombre positif : 0 Rappelons que la fonction sqrt fournit la racine carre (double) de la valeur (double) quon lui donne en argument

  • Le langage C/C++ TOUHTOUH Samira

    Ecole Nationale des Sciences Appliques dEl Jadida

    [email protected]

  • Introduction

  • Introduction

    Un langage de programmation

    La puissance dun ordinateur vient du fait qu'il peut tre programm, c'est

    dire que l'on peut lui donner, l'avance, la squence des ordres effectuer l'un aprs l'autre.

    Ces ordres, cods en binaire, sont sauvs dans un fichier nomm excutable (.exe sous Windows).

    L'ordinateur ne comprenant que des ordres cods en binaire (le langage machine) peu pratiques d'emploi, des langages dits "volus" ont t mis au point pour faciliter la programmation.

  • Le C a t dvelopp conjointement au systme d'exploitation UNIX, dans les Laboratoires BELL, par Brian W Kernigham et Dennis M Ritchie, qui ont dfini en au cours des annes 70, dans "The C Language", les rgles de base de ce langage.

    Le but principal tait de combiner une approche structure (et donc une programmation facile) avec des possibilits proches de celles de l'assembleur tout en restant standard (c'est dire pouvoir tre implant sur n'importe quelle machine).

  • A la fin des annes 80, Bjarne Stroustrup cre le C++, qui garde toutes les

    possibilits du C, l'amliorant (commentaires, constantes, passage d'arguments par adresse, arguments par dfaut...) mais surtout en y ajoutant les objets (encapsulation, hritage, polymorphisme, surcharge...).

    Le C++ combine donc toutes les possibilits de la programmation classique et la puissance de l'approche objets.

    Il est trs rpandu, il fait partie des langages de programmation les plus utiliss sur la plante.

  • Il est rapide, ce qui en fait un langage de choix pour les applications critiques qui ont besoin de performances.

    Il est portable : un mme code source peut thoriquement tre transform sans problme en excutable sous Windows,

    Il existe de nombreuses bibliothques pour le C++. Les bibliothques sont des extensions pour le langage. De base, le C++ ne sait pas faire grand chose mais, en le combinant avec de bonnes bibliothques, on peut crer des programmes 3D, rseaux, audio, fentrs, etc.

    Il est multi paradigmes . Ce mot signifie qu'on peut programmer de diffrentes faons en C++ (POO).

  • Un langage du haut niveau :

    C'est un langage assez loign du binaire (et donc du fonctionnement de la machine), qui vous permet gnralement de dvelopper de faon plus souple et rapide.

    Un langage du bas niveau :

    Par opposition, un langage de bas niveau est plus proche du fonctionnement de la machine : il demande en gnral un peu plus d'efforts mais vous donne aussi plus de contrle sur ce que vous faites.

  • Programmer : exemple de code C++

  • Programmer

    Une fois trouv lalgorithme, programmer en C++ comporte 3 phases:

    1. Editer le programme avec un diteur de texte.

    2. Compiler le programme .

    3. Excuter le programme.

    4. TESTER et DEBUGGER

  • Exemple de code C++

    #include using namespace std; int main() { cout

  • # include

    iostream signifie Input Output Stream , ce qui veut dire Flux

    d'entre-sortie . Dans un ordinateur , l'entre correspond en gnral au clavier ou la souris, et la sortie l'cran.

    Include iostream nous permet d'obtenir tout ce qu'il faut pour changer des informations avec l'utilisateur .

  • using namespace std;

    Il indique la partie de fonctionnalit que le fichier va utiliser.

    Dans la cas ou on charge plusieurs bibliothques, Certaines fonctionnalits ont le mme nom.

    Pour orienter lordinateur vers la fonction recherche , namespace a t cre. Ce sont de dossiers noms. La ligne using namespace std; indique quon va utiliser lespace de noms std dans la suite du fichier code.

  • Int main ()

    C'est le cur du programme. Les programmes, sont essentiellement

    constitus de fonctions. Chaque fonction a un rle et peut appeler d'autres fonctions pour effectuer certaines actions.

    Tous les programmes possdent une fonction dnomme main qui est la fonction principale.

    Une fonction a la forme suivante :

    Int main ()

    {

    }

  • cout

    Le rle de cout est dafficher un message lcran.

    cout est fourni par iostream. Si on inclut pas iostream au dbut du programme, le compilateur ne va connatre cout

    Exemple

    cout

  • Il ya 3 lments sur cette ligne :

    cout : commande laffichage dun message lcran;

    bonjour : indique le message afficher;

    endl : cre un retour la ligne dans la console.

    Il est possible de combiner plusieurs messages en une instruction :

    cout

  • return

    La dernire ligne est :

    Return 0;

    Cette instruction clt gnralement les fonctions. La plupart des fonctions renvoient une valeur. La fonction main renvoie 0 pour indiquer que tout sest bien pass

  • Commentaires

    En plus du code qui donne des instructions l'ordinateur , il faut crire des

    commentaires pour expliquer le fonctionnement de votre programme.

    Les commentaires n'ont aucun impact sur le fonctionnement de votre logiciel : en fait, le compilateur ne les lit pas et ils n'apparaissent pas dans le programme gnr. Pourtant, ces commentaires sont indispensables pour expliquer ce qu'il fait un programme.

  • Les diffrents type de commentaires

    Les commentaires courts

    Pour crire un commentaire court, sur une seule ligne, il suffit de commencer par // puis d'crire votre commentaire.

    // commentaire

    Les commentaires longs

    Si le commentaire tient sur plusieurs lignes, on ouvre la zone de commentaire avec /* et on ferme avec */

  • Commenter le programme suivant :

    #include using namespace std; int main() { cout

  • #include /* inclusion dun fichier d entte ; entte standard des entres sorties */

    using namespace std ; /* spcifie que lon utilise lespace de nommage standard */

    int main ( ) // dbut du programme = fonction main

    { // ouverture de la fonction principale

    cout

  • Structure de base de C++

  • Les variables :

    Une variable est un identificateur qui dsigne un type dinformation

    dans un programme. Elle est situe dans un endroit prcis de la

    mmoire de la machine et reprsente souvent une donne lmentaire,

    cest--dire une valeur numrique ou un caractre.

    Les types de donnes de base sont les suivants :

    - int : valeur entire

    - char : caractre simple

    - float : nombre rel en virgule flottante

    - double : nombre rel en virgule flottante double prcision.

  • Pour dclarer une variable, on prcise son type suivi de son identificateur (son nom).

    TYPE NOM (VALEUR);

    TYPE NOM = VALEUR;

    Lidentificateur dune variable est compos dun ensemble de chiffres ou de lettres dans un ordre quelconque qui suit les rgles suivantes :

    - Le premier caractre doit tre obligatoirement une lettre.

    - Les minuscules ou les majuscules sont autorises et considres comme diffrentes.

    - Le caractre (underscore ou blanc soulign) est autoris.

  • La dclaration dune variable peut tre assimile la cration en mmoire dun contenant dont le type serait la taille (ou dimension) et le contenu, la valeur.

    Quand aucune valeur na encore t affecte une variable, seule sa place est rserve. Son contenu ntant pas encore dfini, il viendra ultrieurement.

    Au cours de la rdaction dun programme, une variable peut tre dclare tout moment, toutefois, les dveloppeurs ont pour habitude de regrouper les dclarations, ce qui apporte une meilleure lisibilit.

  • Initialisation et constantes

    Il est possible dinitialiser une variable lors de sa dclaration comme dans :

    int n = 15 ;

    Ici, pour le compilateur, n est une variable de type int dans laquelle il placera la valeur 15 ;

    La dclaration prcdente pourrait tre remplace par une dclaration ordinaire (int n), suivie un peu plus loin dune affectation (n=15) ; la seule diffrence rsiderait dans linstant o n recevrait la valeur 15.

    Il est possible de dclarer que la valeur dune variable ne doit pas changer lors de lexcution du programme. Par exemple, avec : const int n = 20 ;

  • Les oprateurs arithmtiques en C++.

    Prsentation des oprateurs

    Comme tous les langages, C++ dispose doprateurs classiques binaires , savoir laddition (+), la soustraction (-), la multiplication (*) et la division (/), ainsi que dun oprateur unaire (cest--dire ne portant que sur un seul oprande).

    Les oprateurs binaires ne sont a priori dfinis que pour deux oprandes ayant le mme type parmi : int, long int, float, double et long double.

    Ils fournissent un rsultat de mme type que leurs oprandes.

  • Le cast

    Lorsque, les deus oprandes sont de type diffrent, le compilateur prvoit

    une conversion suivant lordre : char > short > long > float > double,

    Le plus petit est automatiquement transform dans le plus grand,

    Le rsultat de lopration sera lui aussi du type du plus grand

  • Exemple :

    int a=64,b=2;

    float x=1,y=2;

    Quelle est la valeur affecte aux diffrentes variables concernes par chacune des instructions suivantes ?

    b=7/b;

    x=7/b;

    x=7/y; x=7.0/b;

    x=((float)(a+1))/b;

  • Le langage C/C++

    TOUHTOUH Samira

    Ecole Nationale des Sciences Appliques dEl Jadida

    [email protected]

  • Pointeurs

    Ladresse dune variable,

    Lorsque une variable est dclare, lordinateur rserve une place

    dans la mmoire et lui donne une tiquette qui porte le nom de la

    variable.

    int main()

    {

    int a (2);

    return 0;

    }

  • Ladresse dune variable

    La mmoire dun ordinateur est constitu de plusieurs milliards de

    cases. Chaque case a une adresse unique.

    On peut accder une variable par deux mthodes :

    - On peut passer par son nom (l'tiquette).

    - On peut aussi accder la variable grce son adresse (son

    numro de case).

  • Comment afficher une adresse ?

    le symbole pour obtenir l'adresse d'une variable est l'esperluette (&)

    Exemple :

    #include

    using namespace std;

    int main()

    {

    int a (2);

    cout

  • Les pointeurs

    Un pointeur est une variable qui contient l'adresse d'une autre variable.

    Un pointeur est une variable comme int et double.

    Dclarer un pointeur

    int *pointeur;

    Pour dclarer un pointeur il faut un nom et un type.

    - Le nom et celui du variable - Et le type est le type de variable dont on veut stocker ladresse.

  • Exemple

    double *pointeurA;

    //Un pointeur qui peut contenir l'adresse d'un nombre

    virgule

    string *pointeurC;

    //Un pointeur qui peut contenir l'adresse d'une chane de

    Caractres

    int const *pointeurE;

    //Un pointeur qui peut contenir l'adresse d'un nombre entier constant

  • Il faut toujours dclarer un pointeur en lui donnant la valeur 0

    int *pointeur(0);

    double *pointeurA(0);

    string *pointeurC(0);

    int const *pointeurE(0);

  • Stocker une adresse

    int main()

    {

    int a (2);

    //Une variable de type int

    int *ptr(0);

    //Un pointeur pouvant contenir l'adresse d'un nombre entier

    ptr = &a;

    //On met l'adresse de 'a' dans le pointeur 'ptr'

    return 0;

    }

  • Afficher ladresse

    #include

    using namespace std;

    int main()

    {

    int a(16);

    int *ptr(0);

    ptr = &a;

    cout

  • Accder la valeur pointe

    int main()

    {

    int a(2);

    int *ptr(0);

    ptr= &a;

    cout

  • Allocation automatique de la mmoire

    Lors de la dclaration dune variable

    I' ordinateur rserve une case mmoire, on parle de

    lallocation de la mmoire.

    Il remplit cette case avec la valeur fournie, initialisation

    de la variable.

  • Allouer un espace mmoire

    int *pointeur(0);

    pointeur = new int;

    Une fois alloue manuellement, la variable s'utilise comme n'importe quelle autre. On doit juste se rappeler qu'il faut y accder par le pointeur , en le drfrenant.

    int *pointeur(0);

    pointeur = new int;

    *pointeur = 2; //On accde la case mmoire pour en modifier la

    valeur

  • Librer la mmoire

    int *pointeur(0);

    pointeur = new int;

    delete pointeur; //On libre la case mmoire

  • Exemple :

    Quels rsultats fournira ce programme :

    #include

    using namespace std ;

    main()

    {

    char * ad1 ;

    ad1 = "bonjour" ;

    cout

  • Quels rsultats fournira ce programme :

    #include

    using namespace std ;

    main()

    {

    char * adr = "bonjour" ; /* 1 */

    int i ;

    for (i=0 ; i

  • Les fichiers

    Flux vers les fichiers cest lire et modifier les fichiers.

    L'en-tte fstream

    Pour les fichiers, il faut spcifier #include en-haut de notre code source.

    Ouvrir un fichier en criture

    Les flux sont des objets, qui contiennent des

    informations concernant les fichiers.

    Ils offrent beaucoup de fonctionnalit comme fermer et

    modifier un fichier.

  • #include

    #include

    using namespace std;

    int main()

    {

    ofstream monFichier("C:/Document/fichier.txt");

    //Dclaration d'un flux permettant d'crire dans le fichier

    return 0;

    }

  • Le plus souvent, le nom du fichier est contenu dans une

    chane de caractres string. Dans ce cas, il faut utiliser la

    fonction c_str() lors de l'ouverture du fichier .

    string const nomFichier("C:/Nanoc/scores.txt");

    ofstream monFlux(nomFichier.c_str());

    //Dclaration d'un flux permettant d'crire dans un fichier.

  • Des problmes peuvent survenir lors de l'ouverture d'un

    fichier , si le fichier ne vous appartient pas ou si le disque dur

    est plein par exemple.

    ofstream monFlux("C:/Nanoc/fichier.txt"); //On essaye d'ouvrir le fichier

    if(monFlux) //On teste si tout est OK

    {

    //Tout est OK, on peut utiliser le fichier

    }

    else

    {

    cout

  • Pour pouvoir crire la fin d'un fichier , il faut le

    spcifier lors de l'ouverture en ajoutant un deuxime

    paramtre la cration du flux :

    ofstream monFlux("C:/Nanoc/fichier.txt", ios::app);

  • Lire un fichier

    Ouvrir un fichier en lecture

    Utiliser un ifstream au lieu d'un ofstream

    ifstream monFlux("C:/Nanoc/C++/fichier.txt"); //Ouverture d'un fichier

    en lecture

    if(monFlux)

    {

    //Tout est prt pour la lecture.

    }

    else

    {

    cout

  • Il y a trois manires diffrentes de lire un fichier :

    1. Ligne par ligne, en utilisant getline() ;

    2. Mot par mot, en utilisant les chevrons >> ;

    3. Caractre par caractre, en utilisant get().

  • Lire ligne par ligne

    string ligne;

    getline(monFlux, ligne); //On lit une ligne complte

    Lire mot par mot

    double nombre;

    monFlux >> nombre; //Lit un nombre virgule depuis le fichier

    string mot;

    monFlux >> mot; //Lit un mot depuis le fichier

  • Lire caractre par caractre

    char a;

    monFlux.get(a);