将文本文件内容复制到另一个文本文件

时间:2010-11-26 10:26:26

标签: visual-c++

如何从一个文本文件复制到另一个文本文件? 这是我目前的进展..它只是复制源文件的最后一行:(

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

        char a[512];


        while(!stream1.eof())

        {
          stream1 >> a;
        }


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

2 个答案:

答案 0 :(得分:4)

简单的解决方案:

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

答案 1 :(得分:1)

这背后的原因是a是一个char数组,而不是一个流。所以每个循环都写入内存中的相同位置(而不是追加)。

您可以在开头创建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();
}