2012-02-04 121 views
1
#include <iostream> 
#include <fstream> 

using namespace std; 

int main() 
{ 
    ifstream stream1("source.txt"); 
    string line ; 
    ofstream stream2("target.txt"); 

     while(std::getline(stream1, line)) 
     { 
      stream2 << line << endl; 
      cout << line << endl; 
     } 


    stream1.close(); 
    stream2.close(); return 0; 
} 

我想讓這個程序每10行讀一遍並寫入我的文件。每隔X行讀寫一次文件

我該如何去做這件事?

+0

廣東話你使用一些櫃檯?仍然需要每次調用getline,但是隻有在計數器命中10時纔將其放入另一個文件的流中,然後重新初始化計數器 – Arunmu 2012-02-04 07:38:18

回答

3

您需要讀取每一行並增加一個計數器。如果計數器達到10,則需要寫入該行並重置計數器。

int lineNumber = 0; 

while(std::getline(stream1, line)) 
{ 
    if (lineNumber == 10) 
    { 
     stream2 << line << endl; 
     cout << line << endl; 
     lineNumber = 0 
    } 

    lineNumber++; 
} 
+0

增量操作符出錯了。我不知道它。你也需要在命中10後指定lineNumber = 0 – Arunmu 2012-02-04 07:43:41

+0

從平板電腦寫入到stackoverflow很爛...現在應該工作,但格式化選項不可用。 – Fox32 2012-02-04 07:46:07

+0

我得到了你的格式的想法,它工作完美! – mystycs 2012-02-04 07:50:11