EOF(End Of Fle) 신호가 어떤거였죠? ㅡㅡ
매1혻적
2023.04.01
eofeof 신호보냄 질문 내용 :
k&r 책 보고 있는데 이상한데서 막히네요
무한 루프 돌다가 eof면 빠져나와야 하는 구문을 만드는데
ctrl+z 눌러도 안되길래
어 왜안되지? 하고
간단하게 밑에 코드 작성하고 돌려보니
ctrl+z 눌러도 루프를 못빠져 나오네요
제가 뭘 착각하고 있는거죠? ㅡㅡ
#includestdio.h
#includectype.h
main()
{
int getch(void);
int c,a=0;
while( (c=getch())!=eof)
printf(%d\n,a++);
}
-
이루리라
뒤적거리니깐 K&R책 예제 4-9에 보면은 이거에 관한 문제가 있군요. Ctrl+Z가 아스키 코드로 23인가? 그러니깐 EOF를 Ctrl+Z 아스키 코드 값으로 고쳐주니깐 되기는 되네요. getch되도록 안써야 겠다는...
-
미드미
오 getchar()로 받으니깐 ctrl+Z를 인식하네요. getch 랑 getchar랑 구현해놓은방식이 다른거 같네요.
-
이퓨리한나
이거 getch()를 getchar()로 바꾸니까 되네요
왜이런지는 저도 잘 모르겟어요, 저도 지금 ENTER 입력 받는데 getch()로 받으면 13이 다른 방법으로 입력받으면 10이 들어와서,,, 고민중...대체 왜이런지 모르겟네요 고수님들 도와주세요 -
다미
ctrl+Z 눌렀는데도 루프를 못빠져 나와요.
귀신에 홀린거 같음.ㅡ -
하랑
#define EOF -1
이렇게 정의되어 있습니다.
Ctrl+Z를 누른 후에 엔터를 눌러보세요.