c++ getline질문

조회수 757회

"읽으려는 파일은 과목 1 3 2 전필 //과목이름 학년 학점 개설강좌수 구분 DD746 AAA 수123 종강502 20
DD747 BBB 금123 종강202 20 C프로그래밍 1 3 3 전필 DD801 CCC 월678 8308 20 DD802 DDD 목123 8308 20 DD803 FFF 월678 8001 20 이렇게 생긴거라서 개설강좌수를 기준으로 과목갯수 카운팅이랑 개설강좌 카운팅을 하려고하는데

서브젝트 클래스에서 이렇게 메소드를 구현해서 과목

개수카운팅하고 개설강좌수를 리턴해서 Subject::read(ifstream& in) { char buf[256]; in >> sub_name >> grade >> grades >> open_num >>division; sub_count += 1; return open_num; }

서브젝트를 상속한 Lecture에서 개설강좌수만큼 그냥 getline함수로 fin이 가리키는것만 다음줄로 넘어가려고 이렇게 구현했는데 왜 무한루프에 빠지나요 ㅠ

void Lecture::init() { char line[256]; ifstream fin; fin.open("lec_list.txt"); Subject temp; while (!fin.eof()) { char line[256]; int num = temp.read(fin); for (int i = 0; i < num; i++) { fin.getline(line, 256,'\n'); lec_count++; cout << lec_count<<"for문" << endl; } cout<< "while문" << temp.getSub_count() << endl; } } "

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)