编辑代码更简单,没有链表指针 .
这是我的结构
typedef struct megye
{
int megye;
int hektar1_min;
int hektar1_max;
int hektar1_tam;
int hektar2_min;
int hektar2_max;
int hektar2_tam;
int hektar3_min;
int hektar3_tam;
}megye;
我试过没有“struct _megye * next;”也行 .
这是我的代码:
int main()
{
FILE *fb;
megye*p;
p=(megye*)calloc(8,sizeof(megye));
fb=fopen("tamogatas.dat", "rb");
if (fb==NULL)
{
printf("couldn't open file");
}
while (fread(p, sizeof (megye), 7, fb))
{
printf("%d\n", p->megye);
}
fclose(fb);
_CrtDumpMemoryLeaks();
free(p);
return 0;
}
这是我从文本文件中转换为二进制文件的一行,我在这里使用:
1 50 100 2 100 200 4 200 6
我的目标是将每个数字放在一行中的int中 .
该程序运行,在结构中放置随机数(总是在变化,从6位到大约13-14的长数字) . 调试器说他的fread函数读取文件的第一行(fread的_base字符串),但它根本没有把它放在结构中 . 我需要做什么才能将我的数字输入结构中?
请简单,我两天没有睡觉:(
编辑:我必须使用二进制文件,因为它是功课 .
1 回答
example of one record read/write to binary file