Tag: 更新

更新包含c中结构的二进制文件,更改为损坏文件的其余部分的偏移量

我正在尝试编写一个方法,在给定包含要更新或追加的值的文件的情况下,将更新第二个二进制文件。 显然,当我覆盖二进制文件中的结构时,偏移量会以某种方式发生变化,从而破坏其后的所有内容。 我做错了什么,有没有办法在不截断和附加到文件的情况下阻止这种情况? 当前代码: typedef struct{ int number; double price; } stock; void update(char* updatefile, char* binfile){ FILE *fin, *fout; stock *currStock; stock *updateStock; int currPos; int update; int val1=0; double val2=0; currStock = malloc(sizeof(stock)); updateStock = malloc(sizeof(stock)); fin=fopen(updatefile,”r”); while (fscanf(fin, ” \n%d %lf”,&val1,&val2) != EOF) { currStock->number = val1; currStock->price = val2; printf(“Updating file […]