我的代码中有一个结构。 结构的结构是:
struct student{
int Id;
char Name[30];
char Subject[30];
};
我想阅读包含这些信息的文本文件,并希望将这些信息添加到此结构的数组中。
以下是我的文本文件的结构/内容:
1/usman/phd
2/usman/mphill
1/usman/abc
这是我的代码,用于从文本文件中检索值并将其保存到struct数组中,然后打印值:
void loadStudentData(){
FILE *fp;
char buff[255];
char line[50];
struct student studentList[20];
int itemIndex = 0;
fp = fopen("student.txt", "r");
while(fgets(line, sizeof line, fp)!=NULL) {
struct student studentObject;
int i = 0;
char *p = strtok (line, "/");
char *array[3];
while (p != NULL)
{
array[i++] = p;
p = strtok (NULL, "/");
}
printf("\n");
for (i = 0; i <= 2; ++i){
if(i == 0)
studentObject.Id = atoi (array[i]);
if(i == 1)
strcpy(studentObject.Name ,array[i]);
if(i == 2)
strcpy(studentObject.Subject, array[i]);
// printf("%s", array[i]);
}
studentList[itemIndex] = studentObject;
itemIndex = itemIndex+1;
}
fclose(fp);
for(int x=0; x<= sizeof(studentList); x++){
printf("%s", studentList[x].Name);
}
}
但此代码无效。任何人都可以帮我解决这个问题吗?