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

答えて

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

+0

タブレットからのstackoverflowへの書き込みが失敗しました...今は動作しますが、フォーマットオプションは利用できません。 – Fox32

+0

私はあなたの書式のアイデアを得て、それは完璧に働いた! – mystycs

関連する問題