还请看一眼,由于我是初中生,英语不大好,也懒得百度,所以很多变量是拼音
有什么需要补充请告知!
hp=MAXhp;//此处刚刚读档,赋值后都变为0,但是不大确定
void load(void)//读取游戏存档
{
fp = fopen("chundang.txt", "rb");
fscanf(fp, "%s\n", name);
fread(&LV, sizeof(LV), 1, fp);
fread(&MAXhp, sizeof(MAXhp), 1, fp);
fread(&cheng, sizeof(cheng), 1, fp);
fread(&huan, sizeof(huan), 1, fp);
fread(&guai, sizeof(guai), 1, fp);
fread(&x, sizeof(x), 1, fp);
fread(&exp1, sizeof(exp1), 1, fp);
fread(&zy, sizeof(zy), 1, fp);
fread(&money, sizeof(money), 1, fp);
fread(&libao, sizeof(libao), 1, fp);
fread(&zb_name[4][40], sizeof(zb_name), 4, fp);
fread(&pinzhi[4], sizeof(pinzhi), 4, fp);
fread(&lv_[4], sizeof(lv_), 4, fp);
fread(&color_[4], sizeof(color_), 4, fp);
fread(&break_[4], sizeof(break_), 4, fp);
fread(&hpup[4], sizeof(hpup), 4, fp);
fread(&hurtup[4], sizeof(hurtup), 4, fp);
fclose(fp);
}
void save(void)//保存游戏
{
fp = fopen("chundang.txt", "rb+");
fprintf(fp, "%s\n", name);
fwrite(&LV, sizeof(LV), 1, fp);
fwrite(&MAXhp, sizeof(MAXhp), 1, fp);
fwrite(&cheng, sizeof(cheng), 1, fp);
fwrite(&huan, sizeof(huan), 1, fp);
fwrite(&guai, sizeof(guai), 1, fp);
fwrite(&x, sizeof(x), 1, fp);
fwrite(&exp1, sizeof(exp1), 1, fp);
fwrite(&zy, sizeof(zy), 1, fp);
fwrite(&money, sizeof(money), 1, fp);
fwrite(&libao, sizeof(libao), 1, fp);
fwrite(&zb_name[4][40], sizeof(zb_name), 4, fp);
fwrite(&pinzhi[4], sizeof(pinzhi), 4, fp);
fwrite(&lv_[4], sizeof(lv_), 4, fp);
fwrite(&color_[4], sizeof(color_), 4, fp);
fwrite(&break_[4], sizeof(break_), 4, fp);
fwrite(&hpup[4], sizeof(hpup), 4, fp);
fwrite(&hurtup[4], sizeof(hurtup), 4, fp);
fclose(fp);
}
数组的读取和写入不对
void save(void)//保存游戏
{
fp = fopen("chundang.txt", "rb+");
fprintf(fp, "%s\n", name);
fwrite(&LV, sizeof(LV), 1, fp);
fwrite(&MAXhp, sizeof(MAXhp), 1, fp);
fwrite(&cheng, sizeof(cheng), 1, fp);
fwrite(&huan, sizeof(huan), 1, fp);
fwrite(&guai, sizeof(guai), 1, fp);
fwrite(&x, sizeof(x), 1, fp);
fwrite(&exp1, sizeof(exp1), 1, fp);
fwrite(&zy, sizeof(zy), 1, fp);
fwrite(&money, sizeof(money), 1, fp);
fwrite(&libao, sizeof(libao), 1, fp);
fwrite(&zb_name, sizeof(zb_name), 1, fp);//fwrite(&zb_name[4][40], sizeof(zb_name), 4, fp);
//&zb_name[4][40]是zb_name的第5行,41列的元素,而此元素并不存在。这里直接写数组名就行了。
//sizeof(zb_name)返回的是整个数组的大小,所以数量写1就可以。
//下同
fwrite(&pinzhi[4], sizeof(pinzhi), 4, fp);
fwrite(&lv_[4], sizeof(lv_), 4, fp);
fwrite(&color_[4], sizeof(color_), 4, fp);
fwrite(&break_[4], sizeof(break_), 4, fp);
fwrite(&hpup[4], sizeof(hpup), 4, fp);
fwrite(&hurtup[4], sizeof(hurtup), 4, fp);
fclose(fp);
}