如何从一个文本文件复制到另一个文本文件? 这是我目前的进展..它只是复制源文件的最后一行:(
ifstream stream1("c:\\source.txt");
char a[512];
while(!stream1.eof())
{
stream1 >> a;
}
ofstream myfile;
myfile.open ("c:\\destination.txt");
myfile << a;
myfile.close();
答案 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();
}