一个文件以我分配我得到两个函数写保存结构在C
int openFileFromConsole(FILE *fp)
它需要一个空文件指针作为输入使用呼叫通过引用的功能。并更新指针以指向相应的HDD地址。重要提示:稍后,它会通过控制台询问用户提供的名称,并要求打开文件类型:“w”,“r”,“a”并更新文件指针。如果成功则返回1,如果失败则返回0。
void saveStudentGradeInfoTofile(FILE *fp)
这个函数获取学生信息,并第一把它存进学生数据类型(这是结构,但使用的typedef伪装),然后将其保存到文件。学生信息由注册表通过控制台提供。这通过引用将文件指针作为输入并使用fprint更新文件。
这个程序应该根据用户输入通过控制台打开一个文件,然后收集信息并将它们存储到一个结构并保存到那个文件中。我已经写了这两个函数(我认为正确?)。但是我我很难实现他们main(),因为第一个是一个int类型的函数。任何帮助,将不胜感激。
typedef struct student {
char name[50];
char id [20];
int score;
}student;
int openFileFromConsole(FILE *fp);
void saveStudentGradeInfoTofile(FILE *fp);
int main()
{
return 0;
}
int openFileFromConsole(FILE *fp){
char filePath[100],fileOpenType[10];
printf("Enter Path name: ");
scanf("%s", filePath);
printf("Enter file open type w, r or a: ");
scanf("%s", fileOpenType);
fp = fopen(filePath,fileOpenType);
if(fp != NULL) {
printf("File has been opened");
return 1;
}
else printf("File not found");
return 0;
}
void saveStudentGradeInfoTofile(FILE *fp){
int numOfStudent ;
student s[100];
printf ("Get the number of students :");
scanf("%d",&numOfStudent);
for(int i = 0; i < numOfStudent; i++) {
printf("\nEnter ID number:");
scanf(" %s",s[i].id);
printf("Enter name: ");
scanf("%s,",s[i].name);
printf("Enter score: ");
scanf("%d",&s[i].score);
fprintf(fp,"id : %s, Name: %s, score =%d\n",s[i].id,s[i].name,s[i].score);
printf("\n");
}
}
你的main()必须调用/调用你已经实现了两个功能,给它们传递适当的参数,你的main也应该检查你的函数返回的返回码并采取适当的动作 – TonyB
传递一个'FILE'指针并在函数内打开文件没有多大意义。你的老师有其他的想法 – user4581301
@ user4581301功能名称是专门给出的。 – angelaziegler13