약 200 줄의 파일을 읽은 다음 다른 줄을 구조체에 저장하려고합니다. 그래서C89의 구조체에 여러 줄의 파일 읽기
"Tom HALL" 32 ENG
"Ryan SMITH" 24 USA
내 문제를 내가 그 파일을 읽을 수 있겠 방법 확실하지 않다, 그리고 넣어 경우 : stuct은 다음과 같습니다 : 같은 설정이
struct person_data{
char name[20];
char lastname[30];
int age;
char country[3]
};
라인을 파일에 정보를 구조체에 저장합니다. 어떻게 파일을 내 구조체에 저장하고 인쇄하려고했는지는 알지만 결과는 충돌하기 전에 내 컴퓨터의 디렉토리 경로와 이상한 심볼이 많습니다. 내 코드는 다음과 같습니다
int main(){
FILE *fp;
fp = fopen("person.txt", "r");
person_data *person = malloc(sizeof(struct person_info));
int i = 0;
if(fp != NULL) {
while (i < 200) {
fscanf(fp, "%[A-Za-z] %[A-Z] %d %[A-Z]",
person[i].name,
person[i].lastname,
&person[i].age,
person[i].country);
i++;
}
}
else{
perror(fp);
}
for (i = 0; i < 200; i++) {
printf("%s %s %d %s",
person[i].name,
person[i].lastname,
person[i].age,
person[i].country);
}
fclose(fp);
return 0;
}
내가 무엇이 잘못되었는지 확실하지 않다, 따라서 누군가가 내가 뭘 잘못했는지와이 문제를 해결하는 방법을 알고 있다면 부탁드립니다. 내가 프로그램을 실행하는 경우는 다음과 같습니다 : 그 구조체 (200)가 필요한 경우
국가가 너무 짧습니다. 3 char 문자열을 저장하려면 4 개의 문자가 필요합니다. –