2014-07-23 2 views
-3

.txt 파일을 읽고 C++로 내용을 두 번 저장하려고합니다. .txt 파일의 형식은 다음과 같습니다. x (탭) 9 (탭) 주석 (개행) C++에서 필요한 것은 double x = 9입니다.C++에서 텍스트 파일을 두 배로 읽음 + 값

//Read constants from file. 
string name; 
double value; 
double a,b,c,d,th; //these are all stored in the file 

ifstream fin("File.txt"); 
while (fin >>name>>value) 
{ 
    getline(fin,name,value); 

}; 

진행 방법? 감사합니다

+2

. 문제를 설명해 주시겠습니까? – 0x499602D2

+0

다른 용도로만 데이터를 사용하는 것처럼 보이지는 않습니다. AWK oneliner로 수행 할 수 있습니다. – mlt

답변

1

마지막으로 서식이 지정된 추출 후에 개행 문자가 지워지지 않습니다. std::getline() 당신이 std::ws를 사용을 취소해야합니다 있도록이 줄 바꿈을 발견하면 읽기를 정지 : 당신은 당신이 직면하고있는 실제 문제를 분명히하지 않은

while (std::getline(fin >> name >> value >> std::ws, name)) 
//           ^^^^^^^ 
{ 
    // ... 
}; 
+0

+1 스트림 추출과'getline'을 결합하는 것이 얼마나 의도적으로 나쁜가 :-) –

관련 문제