主函数main,现要求调用函数ReadStudentInfo(const char* filename,struct student** pStudent)获取文件数据,请问主函数和调用函数怎么写,使得主函数能够通过**pStudent获得数据。假设已定义结构。
struct student
{
char name[20];
int score;
}
C语言新手,请指教,谢谢。
struct后面少了一个;
C语言,指针的指针获取和传递数据。
答案:1 悬赏:30 手机版
解决时间 2021-03-05 04:02
- 提问者网友:黑米和小志
- 2021-03-04 05:24
最佳答案
- 五星知识达人网友:像个废品
- 2021-03-04 06:39
一般来说,这种的,并不是只读取一个结构 而是文件中有一系列的不定个数的数据。
全读回来 给主函数用
这样 主函数中 定义
struct student* stu;调用
int total = ReadStudentInfo("path/file.bin", &stu);
然后 在ReadStudentInfo函数中
FILE *fp = fopen(filename,"rb");
//根据文件大小 获取总的数据个数
int size;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
fseek(fp, 0, SEEK_SET);
int total = size/sizeof(struct student);
//然后 申请内存
*pStudent = (struct student *)malloc(sizeof(struct student) *tatol);
//读数据
fread(*pStudent, sizeof(struct student), total, fp);
fclose(fp);
return total;到主函数 就可以通过
stu[0] 到stu[total -1]来访问读到的数据了。
全读回来 给主函数用
这样 主函数中 定义
struct student* stu;调用
int total = ReadStudentInfo("path/file.bin", &stu);
然后 在ReadStudentInfo函数中
FILE *fp = fopen(filename,"rb");
//根据文件大小 获取总的数据个数
int size;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
fseek(fp, 0, SEEK_SET);
int total = size/sizeof(struct student);
//然后 申请内存
*pStudent = (struct student *)malloc(sizeof(struct student) *tatol);
//读数据
fread(*pStudent, sizeof(struct student), total, fp);
fclose(fp);
return total;到主函数 就可以通过
stu[0] 到stu[total -1]来访问读到的数据了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯