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

증가 연산자가 잘못 되었습니까 ?? 나는 그것을 cont하지 않는다. 또한 10을 치면 lineNumber = 0을 할당해야합니다. – Arunmu

+0

태블릿에서 stackoverflow로 글쓰기가 빨개집니다 ... 지금은 작동해야하지만 서식 옵션은 사용할 수 없습니다. – Fox32

+0

당신의 형식에 대한 아이디어를 얻었고 완벽하게 작동했습니다 !!! – mystycs