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; } } "
댓글 입력