char temp_name[30] = {0};
char temp_id[8] = {0};
char temp_dept[4] = {0};
char temp_phone[10] = {0};
unsigned int temp_year = 0;
float temp_score = 0;
char buf[MAX];
int len;
n = 0;
FILE *file = fopen(filename, "rt");
if(file == NULL) {
cout << "File Open Fail!!" << endl;
exit(0);
}
while(1) {
fgets(buf, MAX, file);
len = strlen(buf);
if(len == 0)
break;
n++;
buf[0] = NULL;
}
index = n;
cout << index << endl;
list = new Element[n];
cout<<"실행"<<endl;
rewind(file); //파일의 위치를 처음으로
cout<<"실행"<<endl;
for(int i = 0; i < index; i++) {
fscanf(file, "%s %s %s %d %f %s", temp_name, temp_id, temp_dept, &temp_year, &temp_score, temp_phone);
// printf("%s %s %s %d %f %s\n", temp_name, temp_id, temp_dept, temp_year, temp_score, temp_phone);
}
fclose(file);
생성자 내에 있는 클래스 생성자일부분이에요.
처음에 구현하려던건 element에 파일 라인만큼 동적할당하고
그 안에 파일을 집어 넣으려고 했는데 지금 저 list가 지금 보여드린 클래스의 멤버 변수에요.. element는 다른 저장 객체구요.
밑에 fscanf에서 정보를 읽어서 list에 저장하고 싶은데 잘 안되네요..
그리고 그 전에 해결해야 할게 fscanf에서부터 런타임 오류가 떠버리네요 ㅠㅠ
왜 c++에서 힘들게 fscanf를 쓰지? 이상하군
fscanf가 아니면 다른 함수가 있나요?? 이제 막 배우고 있씁니당
cin
ㅋㅋㅋ