C语言中,用fscanf如何从文件中读取结构体数据
展开全部
用fscanf似乎不是那么简单,不过你要定制数据文件的格式:
比如:
struct stu {
int id;
char name[N];
}
你的文件a.dat:
10 //学生总数,读一个后面来循环
1 //fscanf(fp, "%d", &stu[i].id);
小明 //fscanf(fp, "%s", &stu[i].name);
2
小王
..如此往复读取。
------------
如果是二进制文件,可以用fread读定长数据,直接存到结构体中
int fread( void *buffer, size_t size, size_t num, FILE *stream );
//buffer结构体指针,
//size结构体长度
//num一般指定为1
//stream文件流
比如:
struct stu {
int id;
char name[N];
}
你的文件a.dat:
10 //学生总数,读一个后面来循环
1 //fscanf(fp, "%d", &stu[i].id);
小明 //fscanf(fp, "%s", &stu[i].name);
2
小王
..如此往复读取。
------------
如果是二进制文件,可以用fread读定长数据,直接存到结构体中
int fread( void *buffer, size_t size, size_t num, FILE *stream );
//buffer结构体指针,
//size结构体长度
//num一般指定为1
//stream文件流
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询