我刚刚找到了一种将带有迭代器的文件复制到另一个文件的方法:
ifstream ifile("file1.txt");
ofstream ofile("file2.txt");
copy(istream_iterator<string>(ifile),
istream_iterator<string>(),
ostream_iterator<string>(ofile, " "));
它可以工作,但不幸的是,“file1.txt”中的所有文本都只在“file2.txt”的一行中,但在“file1.txt”中最初是很多行。
我试图在迭代器的循环之间更改字符串:
copy(istream_iterator<string>(ifile),
istream_iterator<string>(),
ostream_iterator<string>(ofile, "\n"));
但“file2.txt”的结果更糟 - 每个单词都在不同的行中。
我的问题:有什么方法可以使用迭代器复制文件但不会丢失任何信息,或者我应该这样做getline()
吗?