2012-09-27 1 views
0

텍스트 파일에서 2 차원 벡터를 구축하는 포맷 :C는 ++ 파일에서 정보를 읽고 그 정보

2 열 2 행의 모든 ​​* (이 같은 네 가지 이상의 행) 각각에 대해

이동 텍스트 줄, 텍스트 줄에 주어진 정보를 기반으로 2D 벡터를 작성하여 콘솔에 출력해야합니다. 예를 들어, 텍스트의 첫 번째 줄의 출력은 다음과 같습니다

**

**

내 프로그램에 정보를 읽을 수

; 그러나, 나는 더 이상 얻는 방법을 모른다. 벡터가 2 열 2 행을 가져야한다는 것을 프로그램이 알 수 있도록 정보를 어떻게 분류합니까?

모든 도움말이나 도움을 주실 수 있습니다.

감사합니다.

+2

코드를 게시하십시오. 우리가 한 일을 보여줘. – Borgleader

+0

라인에 대한 사양이 있습니까? 항상'X 열 Y 행 모두 Z 행 '입니까? –

답변

0

입력을 구문 분석하고 정보를 얻는 것처럼 보입니다. 자, boost::spirit과 같은 라이브러리가 있지만이 간단한 케이스 만 필요한 경우에는 하나의 케이스에만 큰 라이브러리를 사용할 필요가 없습니다.

string input = "2 columns 2 rows all * go"; // Read it from some input 
istringstream iss(input); 

vector<string> tokens; 
copy(istream_iterator<string>(iss), 
    istream_iterator<string>(), 
    back_inserter<vector<string> >(tokens)); 

는 그 다음 tokens 당신의 단어 :

는이 같은 단어 입력 문자열의 간단한 분할을 건의 할 것입니다. 첫 번째 단어가 열위한 것으로 기대하고 세 번째 행에 대한 경우 당신이 할 수 있습니다 :

int columns = atoi(tokens[0].c_str()); 
int rows = atoi(tokens[2].c_str()); 

을 당신이 나머지를 알아낼 수 있다고 생각합니다.

희망이 도움이됩니다.

관련 문제