複製文本文件,我只是找到了一種迭代器將文件複製到另一個文件:C++迭代器
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()
做什麼?
也許試試''。我無法確定它是否可行,但這是一個想法。 –
chris
使用[istreambuf_iterator](http://en.cppreference.com/w/cpp/iterator/istreambuf_iterator)。 – jrok
當遇到第一個換行符時,字符串將停止... – perilbrain