Nintendo-city
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Retrouvez l'univers nintendo sous toutes ses faces !!
 
AccueilPortailDernières imagesS'enregistrerConnexion
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

 

 TP3 Exercice 4 - Validation de l'existence d'un fichier

Aller en bas 
AuteurMessage
Sorell
Stratège
Sorell


Masculin
Nombre de messages : 521
Localisation : Quel part où le sang coule.
Date d'inscription : 01/05/2008

Feuille de personnage
Surnom dans la team: Sénéchal Noir
Victoire/défaite:
TP3 Exercice 4 - Validation de l'existence d'un fichier  Left_bar_bleue0/0TP3 Exercice 4 - Validation de l'existence d'un fichier  Empty_bar_bleue  (0/0)

TP3 Exercice 4 - Validation de l'existence d'un fichier  Empty
MessageSujet: TP3 Exercice 4 - Validation de l'existence d'un fichier    TP3 Exercice 4 - Validation de l'existence d'un fichier  Icon_minitimeLun 17 Déc - 13:24

Version 1 :
Code:

/**
 *
 * @file    ValidFichier.cxx
 *
 * @authors M. Laporte, D. Mathieu
 *
 * @date    18/11/2011
 *
 * @version V1.0
 *
 * @brief  Validation de l'existence d'un fichier
 *
 **/

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

using namespace std;

namespace
{
    void ValidFichier (void)
    {
        string FicSource;
        ifstream is;
        unsigned NbVies = 3;
        for ( ; NbVies > 0; --NbVies)
        {
            cout << "Nom du fichier source      : ";
            getline (cin, FicSource);
           
            // Le second parametre ci-dessous est facultatif car le flux
            // a ete declare ifstream donc flux d'entree

            is.open (FicSource.c_str () /* , ios_base::in */);

            if (!is.fail ()) break;
            cout << "Le fichier " << FicSource
                << " ne peut etre ouvert en lecture\n";
        }
        if (0 == NbVies)
        {
            cout << "3 echecs d'ouverture de fichier en lecture\n";
            return;
        }
        string FicDest;
        ofstream os;
        NbVies = 3;

        for ( ; NbVies > 0; --NbVies)
        {
            cout << "Nom du fichier destination : ";
            getline (cin, FicDest);

            //
            // Le second parametre ci-dessous est facultatif car le flux
            // a ete declare ofstream donc flux de sortie

            os.open (FicDest.c_str () /* , ios_base::out */);

            if (!os.fail ()) break;
            cout << "Le fichier " << FicDest
                << " ne peut etre ouvert en ecriture\n";
        }
        if (0 == NbVies)
        {
            cout << "3 echecs d'ouverture de fichier en ecriture\n";
            return;
        }
        cout << "\nCopie du fichier " << FicSource
            << " dans le fichier " << FicDest << "\n\n";
 
        string Str;

        for (getline (is, Str); ! is.eof (); getline (is, Str))
            os << Str << '\n';
       
    } // ValidFichier()
       
} // namespace

int main (void)
{
    /*  * / Flux_cin    ();  /*  */
    /*  * / AffichFich  ();  /*  */
    /*  * / NomFichAuKbd ();  /*  */

    /*  */ ValidFichier ();  /*  */

    return 0;

} // main()



Dernière édition par Sorell le Lun 17 Déc - 13:27, édité 1 fois
Revenir en haut Aller en bas
Sorell
Stratège
Sorell


Masculin
Nombre de messages : 521
Localisation : Quel part où le sang coule.
Date d'inscription : 01/05/2008

Feuille de personnage
Surnom dans la team: Sénéchal Noir
Victoire/défaite:
TP3 Exercice 4 - Validation de l'existence d'un fichier  Left_bar_bleue0/0TP3 Exercice 4 - Validation de l'existence d'un fichier  Empty_bar_bleue  (0/0)

TP3 Exercice 4 - Validation de l'existence d'un fichier  Empty
MessageSujet: Re: TP3 Exercice 4 - Validation de l'existence d'un fichier    TP3 Exercice 4 - Validation de l'existence d'un fichier  Icon_minitimeLun 17 Déc - 13:27

Version 2
Code:

/**
 *
 * @file    ValidFichier_a.cxx
 *
 * @authors M. Laporte, D. Mathieu
 *
 * @date    18/11/2011
 *
 * @version V1.0
 *
 * @brief  Validation de l'existence d'un fichier
 *
 **/

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

using namespace std;

namespace
{
    void ValidFichier (void)
    {
        ifstream is;
        ofstream os;
        {
            string FicSource;

            // Saisie, validation et ouverture du fichier source
            {
                unsigned NbVies = 3;
                for ( ; NbVies > 0; --NbVies)
                {
                    cout << "Nom du fichier source      : ";
                    getline (cin, FicSource);
           
                    // Le second parametre ci-dessous est facultatif car
                    // le flux a ete declare ifstream donc flux d'entree

                    is.open (FicSource.c_str () /* , ios_base::in */);

                    if (is.is_open()) break;
                    cout << "Le fichier " << FicSource
                        << " ne peut etre ouvert en lecture\n";
                }
                if (0 == NbVies)
                {
                    cout << "3 echecs d'ouverture de fichier "
                            "en lecture\n";
                    return;
                }
            }
            string FicDest;

            // Saisie, validation et ouverture du fichier destination
            {

                unsigned NbVies = 3;

                for ( ; NbVies > 0; --NbVies)
                {
                    cout << "Nom du fichier destination : ";
                    getline (cin, FicDest);

                    // Le second parametre ci-dessous est facultatif car
                    // le flux a ete declare ofstream donc flux de
                    // sortie
   
                    os.open (FicDest.c_str () /* , ios_base::out */);

                    if (os.is_open()) break;
                    cout << "Le fichier " << FicDest
                    << " ne peut etre ouvert en ecriture\n";
                }
                if (0 == NbVies)
                {
                    cout << "3 echecs d'ouverture de fichier "
                            "en ecriture\n";
                    return;
                }
            }
            cout << "\nCopie du fichier " << FicSource
                << " dans le fichier " << FicDest << "\n\n";
        }
        {
            string Str;

            for (getline (is, Str); ! is.eof (); getline (is, Str))
                os << Str << '\n';
        }
       
    } // ValidFichier()
       
} // namespace

int main (void)
{
    /*  * / Flux_cin    ();  /*  */
    /*  * / AffichFich  ();  /*  */
    /*  * / NomFichAuKbd ();  /*  */

    /*  */ ValidFichier ();  /*  */

    return 0;

} // main()

Revenir en haut Aller en bas
 
TP3 Exercice 4 - Validation de l'existence d'un fichier
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» TP3 Exercice 2 - Affichage du contenu d'un fichier
» TP3 Exercice 1 - Flux standard cin considéré comme un fichier
» TP3 Exercice 6 -
» TP1 Exercice 1 - Bonjour
» TP1 Exercice 2 - Les 10 premiers entiers

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Nintendo-city :: Informatique :: Section C++ :: Corrigés :: TP3-
Sauter vers: