永发信息网

C语言,指针的指针获取和传递数据。

答案:1  悬赏:30  手机版
解决时间 2021-03-05 04:02
  • 提问者网友:黑米和小志
  • 2021-03-04 05:24
主函数main,现要求调用函数ReadStudentInfo(const char* filename,struct student** pStudent)获取文件数据,请问主函数和调用函数怎么写,使得主函数能够通过**pStudent获得数据。假设已定义结构。
struct student
{
char name[20];
int score;
}
C语言新手,请指教,谢谢。
struct后面少了一个;
最佳答案
  • 五星知识达人网友:像个废品
  • 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]来访问读到的数据了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯