将循环结构数据放入C中的文件中

Getting looped struct data into a file in C

我有一个循环结构数组,它接受用户输入的学生姓名和学号

代码:

int x;
struct studs
{
    char name[50];
    char rollno[50];
}student[50];

            printf("\t\t________________________________");
            printf("\n\n\t\t\tStudent Registration");
            printf("\n\t\t_______________________________");
            printf("\n\n\tHow many students in %s ", course);
            scanf("%d", &stud);

            admin = fopen(name, "a");
            fprintf(admin, "\nNumber of students for %s: %d", course, stud);
            fclose(admin);

            for(x=0; x<stud; x++)
            {
                printf("\n\nStudent %d", x+1);
                printf("\n_____________________________");
                printf("\n\nStudent Name : ");
                scanf("%s", student[x].name);
                printf("\nStudent Rollno. : ");
                scanf("%s", student[x].rollno);
                system("\npause");
                goto exam;
            }
            admin = fopen("student.txt", "w");
            fprintf(admin, "Name: %s \nRoll Number: %s\n\n", student.name, student.rollno);
            fclose(admin);

如您所见,我正在尝试将每个姓名和号码放入文本文件,但我一直收到此错误

错误:请求成员 'name' 不是结构或联合 | 错误:请求成员 'rollno' 不是结构或联合

有没有办法把它放到一个文件中,有或没有结构?

这个

fprintf(admin, "Name: %s \nRoll Number: %s\n\n", student.name, student.rollno);

无法工作,studentstud 的数组(或者至少如果我在学校的话会是这样)。您已经表明您知道如何使用 for(x=0; x<stud; x++) 遍历学生人数,所以再做一遍:

for(x=0; x<stud; x++) {
    fprintf(admin, "Name: %s \nRoll Number: %s\n\n", student[x].name, student[x].rollno);
}

您的程序中可能会出现其他错误(例如 goto exam 立即跳出您的 for 循环到某个地方)。但这至少会解决你所描述的错误。