안녕하세요, 저는 현재 프로그램을 작성했지만 파일을 읽는 데 문제가 있습니다. 결과적으로 동일한 결과를 두 번 생성하는 것은 마지막 줄을 두 번 읽은 것 같습니다.입력 파일 읽기 오류
변수 G에 대한 문자열을 저장하기 위해 getline() 함수를 첫 번째 행을 읽었습니다. 나머지는 클래스 객체의 벡터에 저장했습니다.
는 기본적으로 파일이 열리고 그것은
file.open("bodies1.txt");
getline(file, G1);
....
while(!file.eof)
{
file >> body;
bodies.push_back(body);
}
이가이 루프를 수행하는 것 같은 텍스트 파일보기 (이것은 단지 샘플입니다.이 아니라 실제 일) 정말
0.02932
Sun 32 42 53 2 2
Moon 49 32 4 2 1
Jupiter 32 53 2 3 2
내가 마지막 줄을 두 번 읽는 이유가 궁금합니다. 어떤 제안?
@JesseGood 나는 EOF가 문제 라는데 동의한다. 나는이 질문이 그 질문의 중복임을 확신하지 못한다. 그 대답은 그들의 문제를 해결할 것입니다. – AlexLordThorsen
@Rawrgulmuffins : C++ 안티 패턴 'while (! file.eof)'과 관련된 문제는 매우 일반적입니다. 해당 질문에 얼마나 많은 중복이 연결되어 있는지 확인하십시오. –