Invisible Rover 's Blog :D :: EOF - end of file

'EOF'에 해당되는 글 1건

  1. EOF - end of file 2008/04/18

EOF = -1라고 쓰이며 파일의 끝을 나타내는 조건자로 쓰인다.
Ctrl + Z 또는 Ctrl + D키워드로 사용하는데 내가 사용하는 xp에선 Ctrl + Z으로 쓰이는듯...


cin객체는 EOF를 탐지하면 eofbit과 failbit의 비트를 1로 설정한다. [eofbit , failbit은 나도 잘 모르지만 무언가 어떤 특정 값을 1로 변환하는듯..;   그렇다면 변환이 됬는지 안됬는지 확인해볼 필요가 있다. 확인 방법은 cin객체의 eof()메서드를 통해서 확인이 가능하다.

#include<iostream>
using std::cout;
using std::endl;
using std::cin;
int main(){
    int x;
    cin>>x;
    cout<<"현제 eofbit과 failbit은 "<<cin.eof()<<"로 설정되어 있습니다"<<endl;

    return 0;
}

사용자 삽입 이미지








cin.eof()메서드는 입력된 값의 여부에따라 eofbit과 failbit을 설정한다. 만약 Ctrl + Z [EOF]를 입력하면 1로 설정되었다고 출력할것이다. cin.eof()가 eofbit의 bit문자를 제외한 eof라면 fail도 마찬가지로 cin.fail()메서드가 존재한다. cin.fail()메서드는 eofbit과 failbit이 1로 설정되어있을경우 bool값 true를 리턴한다. 이와 반대로 0으로 설정되어있으면 당연히 false를 리턴한다.
위 얘기를 정리하면 cin.eof()가 실행된다음 cin.fail()가 그것을 확인하는 순서로 이루어진다.


EOF를 이용한 탈출루프 구현

#include<iostream>
using std::cout;
using std::endl;
using std::cin;
int main(){
    cout<<"Ctrl + Z 을 누르면 프로그램을 종료합니다."<<endl;
    int ch;
    ch = cin.get();
    while(cin.fail() == false){
        cout.put(ch);
        ch = cin.get();
    }
    return 0;
}

사용자 삽입 이미지
Tag // ,

댓글을 달아 주세요