2013-03-04 9 views
4

여러 열, 다양한 변수 유형이있는 파일을 읽고 싶습니다. 기둥 수는 불확실하지만 2 ~ 4 사이입니다.C++ 여러 열이있는 파일 읽기

  • 문자열 INT
  • 문자열 INT 문자열을 두 번
  • 문자열 INT 문자열
  • 문자열 INT 문자열
더블

감사 : 그래서 예를 들어, 내가 가진 파일이있다!

원래 작성된대로 열 개수를 2 또는 5가 아닌 4 또는 5로 수정하여 편집했습니다.

+2

그래서 코드를 작성 하시겠습니까? 너 우리 한테 돈 안 줘? 그러니 문제를 연구하고 여기서 발생하는 특정 문제에 대해 질문하십시오. –

+2

열 구분 방법은 무엇입니까? 공백 (공백 또는 탭)을 사용하면 일반 입력 연산자'>>'가 정상적으로 작동합니다. –

+0

* 열의 수는 불확실하지만 4 ~ 5 사이 * - 아직 첫 번째 행에는 2 개의 열만 포함되며 하나의 열에는 5 개의 열이 포함되지 않습니다. – Praetorian

답변

5
당신이 할 수있는 첫번째 열은 다른 유형을 포함 할 수 있습니다 경우 std::getline

std::ifstream f("file.txt"); 
std::string line; 
while (std::getline(f, line)) { 
... 
} 

와 함께 라인이 stringstream

std::string col1, col3; 
int col2; 
double col4; 
std::istringstream ss(line); 
ss >> col1 >> col2; 
if (ss >> col3) { 
    // process column 3 
    if (ss >> col4) { 
     // process column 4 
    } 
} 

와 함께이 줄을 구문 분석 읽을 먼저 문자열로 읽을 수 있어야합니다

및 적절한 유형을 결정하십시오.