代码如下(因为是文字游戏,代码太长,所以发一下存档的代码和读取代码)
第一次开exe,创建存档,关闭,读取都可以
但是关机后再读取便会闪退!
void load(void)//读取游戏存档
{
fp = fopen("file.txt", "r");
fscanf(fp, "%s\n", name);
fread(&LV, sizeof(LV), 1, fp);
fread(&MAXhp, sizeof(MAXhp), 1, fp);
fread(&MINhurt, sizeof(MINhurt), 1, fp);
fread(&MAXhurt, sizeof(MAXhurt), 1, fp);
fread(&MAXneng, sizeof(MAXneng), 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);
fclose(fp);
fp = fopen("struct.txt", "r");
fread(&zhuangbei, sizeof(zhuangbei), 5, fp);
fclose(fp);
}
void save(void)//保存游戏
{
fp = fopen("file.txt", "r+");
fprintf(fp, "%s\n", name);
fwrite(&LV, sizeof(LV), 1, fp);
fwrite(&MAXhp, sizeof(MAXhp), 1, fp);
fwrite(&MINhurt, sizeof(MINhurt), 1, fp);
fwrite(&MAXhurt, sizeof(MAXhurt), 1, fp);
fwrite(&MAXneng, sizeof(MAXneng), 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);
fclose(fp);
fp = fopen("struct.txt", "r+");
fwrite(&zhuangbei, sizeof(zhuangbei), 5, fp);
fclose(fp);
}
(本人才中学生,英语不是很好,故而一些变量名不要在意!)
还请大佬们帮忙解决一下!
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html