아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
아하

생활

생활꿀팁

은혜로운왈라비232
은혜로운왈라비232

while((ch = getc(ie)) != EOF)의 의미를 알고 싶습니다.

EOF가 -1로 선언된 매크로 상수던데 while((ch = getc(ie)) != EOF)

While 조건은 파일에서 문자를 하나 읽어와서 그 문자를 ch에 저장하고 ch가 -1이 아닐 경우에는 반복문을 실행하는게 맞나요?

문자를 하나 읽어올 때 파일의 끝이면 -1이 반환되는 건지 알고 싶습니다.

    55글자 더 채워주세요.
    2개의 답변이 있어요!
    • 남다른메추리264
      남다른메추리264

      상기 조건은 getc()가 제대로 읽어오지 못할 때는 -1을 반환하도록 정의된 함수같습니다.

      getc() 함수는 String에서 한 바이트씩 읽어오는 기능입니다.

      정상적으로 작동했을 때는 0을 리턴하는 것 같고요.

      EOF는 end of file의 약자이며 File의 끝을 알려주는 상수값입니다.

      감사합니다.

    • EOF는 문자열의 끝을 알려주는 특별한 매크로입니다.

      파일 input을 할때 항상 끝에 입력이 같이되서 들어가죠.

      while((ch = getc(ie)) != EOF) 이 코드 뒤의

      while문을 EOF가 나오기 전까지 계속 실행하는 것입니다.

      즉, 만약 while문 안에있는 코드가 printf(ch); 이라고 가정한다면

      EOF 문자가 출력되기 전 즉, 문자열이 끝나기전까지 계속해서 출력한다는 뜻이 됩니다.