강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

세상으로님의 프로필 이미지
세상으로

작성한 질문수

홍정모의 따라하며 배우는 C++

18.6 기본적인 파일 입출력

55Line의 while(ifs)에 대한 질문입니다.

작성

·

255

1

강의 6분52초의 Line 55 while(ifs)에 대한 질문입니다.

while문 안에 있는  getline(ifs,str)을 반복해서 다 읽으면

while(ifs){}에서 빠져나오는데요.

ifs 객체의 어떤 조건에 의해서 while문을 빠져나오게 되는지 궁금합니다.

답변 1

2

홍정모님의 프로필 이미지
홍정모
지식공유자

좋은 질문입니다. 보다 구체적인 내용이 필요하시군요. 일단 getline()함수의 return value에 대해 살펴보시면 아래 링크에서 eofbit이라는 용어를 보시게 될겁니다. 간단히 말씀드리면 파일이 끝났다는 것을 알려주기 위해서 그런 값을 리턴해주는 것이고 그것을 이용하는 방법 중 하나로 while(ifs){}로 구현해놓은 것입니다. 빠져나올 때의 ifs가 어떤 값을 갖고 있는지 출력해보면 더 좋을 것 같네요.

 http://www.cplusplus.com/reference/string/string/getline/?kw=getline

추가로 EOF(End of File)에 대한 더 자세한 개념은 따배씨(C언어)의 파일의 끝 강의에서 더 자세히 다루고 있습니다. 현재 유튜브에 무료로 공개되어 있으니까 참고하세요.

세상으로님의 프로필 이미지
세상으로

작성한 질문수

질문하기