2012-09-30 2 views
1

공백이나 개행 문자로 구분 된 여러 개의 정수로 구성된 입력 파일이 있습니다. EX :C++에서 파일을 읽는 중 여러 단계를 앞당겨 보는 방법

7\n 
2 2\n 
3 4\n 
\n 
8\n 
3 1\n 
5 6\n 
7 7\n 
\n 
3\n 
1 2\n 
3 4\n 

.... 등등.

이 입력 파일을 기반으로하는 입력 집합 수를 결정해야합니다. 나는 이것을 할 수 없다. 어떤 팁?

+0

각 입력 세트는 기본적으로 2 개의 개행 문자로 구분됩니다. –

+2

입력 세트 수를 계산 하시겠습니까? 또는 모든 입력 세트를 일종의 데이터 구조로 읽을 계획입니까? – Benj

답변

4

파일을 한 줄씩 읽습니다. 각 읽기 후에 스트림의 다음 문자가 무엇인지 확인하십시오. '\n' (또는 EOF) 인 경우 입력이 끝났습니다.

std::string line; 
std::ifstream stream; 
size_t sets = 0; 

while (std::getline(stream, line)) { 

    // do something with line 

    int next = stream.get() 
    if (next == '\n' || next == EOF) 
     ++sets; 
    else 
     stream.putback(next); 
} 
관련 문제