2010-11-26 3 views
0

Как скопировать из одного текстового файла в другой текстовый файл? Вот мой текущий прогресс .. это просто скопировать последнюю строку исходного файла :(Скопируйте содержимое текстового файла в другой текстовый файл

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

     char a[512]; 


     while(!stream1.eof()) 

     { 
      stream1 >> a; 
     } 


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

ответ

4

Простое решение:

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

Причиной этого является a быть массив символов, а не поток. Таким образом, каждый цикл вы пишете в . Такую же позицию в памяти (и не добавлять, а)

Вы можете просто создать ofstream объект на начало и писать из потока в поток:

#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

Для этого нужен какой-либо конкретный файл заголовка? я скомпилировал его, но ошибка .. – karikari 2010-11-26 10:41:15

Смежные вопросы