생활
while((ch = getc(ie)) != EOF)의 의미를 알고 싶습니다.
EOF가 -1로 선언된 매크로 상수던데 while((ch = getc(ie)) != EOF)
While 조건은 파일에서 문자를 하나 읽어와서 그 문자를 ch에 저장하고 ch가 -1이 아닐 경우에는 반복문을 실행하는게 맞나요?
문자를 하나 읽어올 때 파일의 끝이면 -1이 반환되는 건지 알고 싶습니다.
55글자 더 채워주세요.
2개의 답변이 있어요!
상기 조건은 getc()가 제대로 읽어오지 못할 때는 -1을 반환하도록 정의된 함수같습니다.
getc() 함수는 String에서 한 바이트씩 읽어오는 기능입니다.
정상적으로 작동했을 때는 0을 리턴하는 것 같고요.
EOF는 end of file의 약자이며 File의 끝을 알려주는 상수값입니다.
감사합니다.
EOF는 문자열의 끝을 알려주는 특별한 매크로입니다.
파일 input을 할때 항상 끝에 입력이 같이되서 들어가죠.
while((ch = getc(ie)) != EOF) 이 코드 뒤의
while문을 EOF가 나오기 전까지 계속 실행하는 것입니다.
즉, 만약 while문 안에있는 코드가 printf(ch); 이라고 가정한다면
EOF 문자가 출력되기 전 즉, 문자열이 끝나기전까지 계속해서 출력한다는 뜻이 됩니다.