2010-11-26 13 views
0

Comment copier d'un fichier texte vers un autre fichier texte? Voici mes progrès en cours .. il suffit de copier la dernière ligne du fichier source :(Copier le contenu d'un fichier texte dans un autre fichier texte

 ifstream stream1("c:\\source.txt"); 

     char a[512]; 


     while(!stream1.eof()) 

     { 
      stream1 >> a; 
     } 


    ofstream myfile; 
    myfile.open ("c:\\destination.txt"); 
    myfile << a; 
    myfile.close(); 

Répondre

4

solution simple:

ifstream stream1("C:/source.txt"); 
ofstream stream2("C:/target.txt"); 
stream2 << stream1.rdbuf(); 
1

La raison derrière cela est a étant un tableau de caractères, pas un cours d'eau. Ainsi, chaque boucle que vous écrivez à la . même position dans la mémoire (et ne pas ajouter à la place)

Vous pouvez tout simplement créer l'objet ofstream au début et à écrire de flux à:

#include <fstream> 

void main() 
{ 
    std::ifstream stream1("C:\\source.txt"); 
    std::ofstream stream2("C:\\target.txt"); 

    while(!stream1.eof()) 
     stream2 << stream1; 

    stream1.close(); 
    stream2.close(); 
} 
+0

un fichier d'en-tête spécifique nécessaire pour cela? je l'ai compilé mais l'erreur .. – karikari

+0

le message d'erreur est: Erreur erreur C2679: binaire '>>': aucun opérateur trouvé qui prend un opérande droit de type 'std :: ofstream' (ou il n'y a pas acceptable conversion) \t c: \ test.cpp – karikari

+1

Juste - bien que les flux doivent être permutés dans la boucle while. Mise à jour de la réponse ... Si vous rencontrez une erreur de ce genre, essayez d'inverser la direction. – Mario

Questions connexes