首页 > 解决方案 > C语言的保存/加载功能

问题描述

我正在开发一个游戏程序,该程序需要我将 2D 数组保存到文件中,然后如果用户想返回该游戏,则可以将其重新加载并继续。但是我在将数组保存到 txt 文件时遇到问题。而对于加载功能,它无法加载任何东西。用户应该选择加载选项,它应该能够使用数组调用 txt 文件,然后允许他们继续玩游戏。

这是我的保存功能

void save(char *filename)
{
    FILE *fp = fopen(filename, "wb");
    fwrite(&size, sizeof(size), 1 , fp);
    fwrite(board, sizeof(int), size, fp);

    if(fp == NULL)
        return;

    fclose(fp);
}

这是我的加载功能

  void load(char *filename)
{
    FILE *fp = fopen(filename, "rb");
    fread(&size, sizeof(size), 1 , fp);
    fread(board, sizeof(int), size, fp);

    if(fp == NULL)
        return;

    fclose(fp);
}

在后面的代码中,我使用菜单来调用这些函数。任何帮助将不胜感激!

标签: csaveload

解决方案


首先,边RB加载边写。FILE其次,输入命令后不要忘记关闭所有文件。

另外,我给你一些建议:总是检查是否*fp等于NULL;它非常适合调试,并且会对您的代码产生巨大影响。您还可以在程序中使用文件时编写一个用于多次检查的函数。


推荐阅读