二进制文件的好处:读写速度快,文件小
//读取二进制文件
#include <stdio.h>
#include <stdlib.h>
#define NUM 200
struct Unit{
//int id;
short int x0;
short int y0;
short int x1;
short int y1;
}unit[NUM];
int main()
{
FILE *file;
if((file = fopen("./save/LookupMap_girl","r"))==NULL)
{
printf("can not open file!");
exit(0);
}
//fread(unit, sizeof(struct Unit), 100, file);
for(int i = 0; i < NUM; i++)
{
fseek(file, i * sizeof(struct Unit), 0);//定位
fread(&unit[i], sizeof(struct Unit), 1, file);//第一个参数不能用结构体变量,要用数组
printf("%d %d %d %d %d\n", i, unit[i].x0, unit[i].y0, unit[i].x1, unit[i].y1);
}
fclose(file);
}
///写入二进制文件
#include <stdio.h>
#include <stdlib.h>
struct Unit{
//int id;
short int x0;
short int y0;
short int x1;
short int y1;
}unit;
int main()
{
FILE *file;
if((file = fopen("./save/LookupMap_girl","w"))==NULL)
{
printf("can not open file!");
exit(0);
}
unit.x0 = i;
unit.y0 = j;
unit.x1 = drawingPosY;
unit.y1 = drawingPosX;
fwrite(&unit, sizeof(struct SaveUnit), 1, saveFile);
fclose(file);
}