///读取二进制文件,存在结构体数组里#include #include #define NUM 200struct 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);}}写入二进制文件#include #include struct SaveUnit{short int x0;//能用短整型就用短整型,有效减小二进制文件大小short int y0;short int x1;short int y1;}saveunit;int main(){FILE *saveFile;if((saveFile= fopen("./save/LookupMap_girl","wb"))==NULL){ printf("can not open file!"); exit(0);}saveunit.x0 = i;saveunit.y0 = j; saveunit.x1 = drawingPosY;saveunit.y1 = drawingPosX;fwrite(&saveunit, sizeof(struct SaveUnit), 1, saveFile); fclose(file);}
二进制文件读写
最新推荐文章于 2023-10-25 22:32:08 发布