내가 파일입출력이란걸 처음해보는데..
메모장에 메뉴를 저장할 수 있게 해놓고
프로그램을 실행하면 공백으로 구분한 메모장의 내용을 각각의 변수에 집어 넣는 함수인데
실제 메뉴는 3개 생성했지만
새로 불러오면 2번째 사진처럼 이상한게 막 붙어서..
아예 메뉴가 없을 때는 공백을 읽고 1개 불러들였다고 처리해서.
End Of File을 제대로 인식을 못하는건지 ㅠㅠ
내가 파일입출력이란걸 처음해보는데..
메모장에 메뉴를 저장할 수 있게 해놓고
프로그램을 실행하면 공백으로 구분한 메모장의 내용을 각각의 변수에 집어 넣는 함수인데
실제 메뉴는 3개 생성했지만
새로 불러오면 2번째 사진처럼 이상한게 막 붙어서..
아예 메뉴가 없을 때는 공백을 읽고 1개 불러들였다고 처리해서.
End Of File을 제대로 인식을 못하는건지 ㅠㅠ
(초딩이라 좀 부족할수도 있지만) txt 파일에 EOF가 있나요?? 그냥 file 스트림 만들고 fgets(버퍼, "%s", 스트림) 하는게 나을거같은데?
(아쉽게도(?) 형은 아니네요)
미친 내 실수
fgets(버퍼, 32767, 스트림) 하세요
EOF 없는 파일도 있나여...
텍스트 파일에 실제로 개행문자가 끝에 포함된거 아닌가여...
구글에 txt EOF 찾아보니까 자료 없던데?
만약 포함됐다면 프로그램은 개행문자가 메뉴이름인지 아닌지 알방법이 없겠져
txt 포멧이 eof를 필요로 하는게 아니라 os fs가 eof를 필요로 하는거 아닙니까?
생각해보니깐 ㅇㅇ님 말데로 EOF를 못찾으면 와일문은 평생 돌아가겠징
헉.. while문 조건을 input >>str 로 놓으면 제대로 실행이 되네.. eof는 필요가 없었던 건가,..
다들 고마워요!