2012-02-04 122 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