【发布时间】:2012-09-04 20:11:52
【问题描述】:
我刚刚找到了一种将带有迭代器的文件复制到另一个文件的方法:
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() 来复制?
【问题讨论】:
-
也许可以试试
<char>。我不能确定它是否会起作用,但这是一个想法。 -
字符串在遇到第一个换行符时会停止...
标签: c++ file text iterator copy