vc6.0运行调试:
我在记事本来面存了结构体数据,
typedef struct student{
int number;
char name[10];
}stu[2];
FILE *fp;
下面我用fscanf(fp,"%d%s",&stu[1].number,stu[2].name);
可以给到结构体里面数据,但是我想用fread();为结构体送入数据,该怎么做呢?还望大神指导!
我做了一次,没有发现你所说的问题。首先我很好奇为什么struct前面有个typedef?你定义的是类型还是变量?其次,在fscanf中可以使用stu[2]?在C语言中下标是从0开始的,我用的是GCC编译器没遇到你的问题,要不你把我上传的文件的源码编译看看是不是有同样问题?我表示没这个问题。有问题欢迎提问.
#include <stdio.h>运行结果:
你运行了吗?运行出来不是想要的结果,stu[i].number的值是一个很大的值,我的是540029745,你再看看
追答抱歉,昨天没太注意看,如果你要用fread直接读取到结构体里而不用fscanf的话最好改变文件存储的方式,整型不再用字符串存,而是直接存储其16进制