텍스트 파일에서 여러 변수를 사용하는 프로그램을 작성하고 있습니다. 프로그램에서 EOF를 찾으면
데이터 입력이 끝납니다.ifstream.good()와 bool (ifstream)의 차이점
int main()
{
int val, count = 0;
ifstream fileIn;
fileIn.open("num.txt");
fileIn >> val;
while (fileIn)
{
++count;
cout << "number: " << val << endl;
fileIn >> val;
}
cout << "count: " << count << endl;
fileIn.close();
return 0;
}
num.txt
파일 : 11 22 33 44
프로그램 출력 :
number: 11
number: 22
number: 33
number: 44
count: 4
모든 것이 OK입니다. 내가 fileIn
에서 fileIn.good()
에있는 동안 조건 섹션을 변경한다면,
프로그램의 출력은 다음과 같을 것이다 : 그것은 이제 마지막 값을 건너
number: 11
number: 22
number: 33
count: 3
. 왜 이런 현상이 발생하며 fileIn
과 fileIn.good()
의 차이점은 무엇입니까?
http://en.cppreference.com/w/cpp/io/basic_ios/good – chris