IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

concatener 2 fichiers


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut concatener 2 fichiers
    bonjour,
    je voudrais savoir comment lire 2 ou pluesieurs fichiers txt avec ofstream ou autre méthode
    et concatener les 2 en un seul fichier txt
    en c ou c++
    j'ai trouvé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    //une fonction qui recopie un fichier dans un autre :
     
    int copiefichier(char *dest, char *srce)
    // copie le fichier srce dans dest
    // renvoie 1 si ok, 0 sinon
    {
         ifstream fi(srce, ios::in|ios::binary);
         if (!fi) return 0;        // srce impossible à lire
         ofstream fo(dest, ios::out|ios::binary);
         if (!fo) return 0;
         char tampon;
         while ( fo && fi.get(tampon) )
               fo.put(tampon);
         return fo.good() && fi.eof();
    }
    mais je sais pas encore comment faire!!
    et ça
    http://h-deb.clg.qc.ca/Sujets/AuSeco...#copier-lignes
    merci

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    ifstream	fic_in1,fic_in2 ;
    ofstrem         fic_out,
    char             tampon;
     
    fic_in1.open(path1);
    fic_in2.open(path2);
    fic_out.open(path3);
     
    while (!fic_in1.eof())
    {
          fic_in1>>tampon;
          fic_out<<tampon;
    }
    while (!fic_in2.eof())
    {
          fic_in2>>tampon;
          fic_out<<tampon;
    }
    fic_in1.close();
    fic_in2.close();
    fic_out.close();
    un truc du genre ca pourrait le faire, à adapter pour que çà marche.

  3. #3
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut
    j'ai corrigé 2 erreurs voila le code sans erreur mais il se plante, et ne s'arrète pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    #include <fstream>   // std::ifstream, std::ofstream
    #include <string>    // std::string, std::getline()
    #include <iostream>  // std::endl
     
    // std::ifstream, std::ofstream
    int main ()
    {
    	std::ifstream	fic_in1,fic_in2 ;
    	std::ofstream         fic_out;
    char  tampon;
     
    fic_in1.open("toto.txt");
    fic_in2.open("t2.txt");
    fic_out.open("t.txt");
     
    while (!fic_in1.eof())
    {
          fic_in1>>tampon;
          fic_out<<tampon;
    }
    while (!fic_in2.eof())
    {
          fic_in2>>tampon;
          fic_out<<tampon;
    }
    fic_in1.close();
    fic_in2.close();
    fic_out.close();
    }

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Par défaut
    peut etre que l'ouverture plante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (fic_in1.fail() ) //pas ouvert

  5. #5
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut
    ça marche nickel
    mais le probleme
    c'est qu'il ya pas de retour à la ligne aprés l'incrémentation
    merci

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Par défaut
    PARCE QUEEEEE!!!VENGEANCE!!! il faut bien secouer...oranginaaaaa

    ben ptetr que si l'ouverture plante c'est parce qu'il arrive pas a ouvrir..logique nan? lol

    sur ce je rentre!

    ps: si ton fichier d'entrée existe pas il pourra pas être ouvert.

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    std::ifstream is1( "input1.txt" );
    std::ifstream is2( "input2.txt" );
    std::ofstream( "output.txt" ) << is1.rdbuf() << is2.rdbuf();
    Suivant la manière dont tu veux traiter les fichiers non trouvés tu pourras par exemple faire un truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if( !is1 )
        std::cout << "input1.txt not found" << std::endl;
    MAT.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Concaténer deux fichiers Ligne/Ligne avec SH
    Par guiltouf dans le forum Linux
    Réponses: 7
    Dernier message: 22/05/2007, 14h35
  2. Concaténer plusieurs fichier pdf.
    Par gege2061 dans le forum Linux
    Réponses: 7
    Dernier message: 28/10/2006, 13h14
  3. Supprimer les dernieres lignes et concatener plusieurs fichier
    Par filsdugrand dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 11/04/2006, 21h15
  4. Concaténation de fichiers sous UNIX?
    Par airmax77 dans le forum Linux
    Réponses: 4
    Dernier message: 27/01/2006, 16h23
  5. [Script .BAT] Concatenation de fichiers plats
    Par Jokeur dans le forum Autres langages
    Réponses: 1
    Dernier message: 03/05/2005, 12h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo