c - 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);
}
在后面的代码中,我使用菜单来调用这些函数。任何帮助将不胜感激!
解决方案
首先,边RB
加载边写。FILE
其次,输入命令后不要忘记关闭所有文件。
另外,我给你一些建议:总是检查是否*fp
等于NULL
;它非常适合调试,并且会对您的代码产生巨大影响。您还可以在程序中使用文件时编写一个用于多次检查的函数。
推荐阅读
- c - 如果他们没有输入正确的变量类型,我需要我的程序告诉用户“无效条目...”
- php - 如何在`array_reduce`中改变这个数组
- objective-c - 构建 react-native App 时缺少“@end”错误
- c - 有副作用的功能
- date - 两个日期之间的月份列表作为月份和年份
- javascript - fullPage.js 没有缓动
- lit-element - lit-element styles within html template versus static styles getter?
- javascript - Remove from JS object where key value is an empty array
- azure - How to get character matches in Azure Search index instead of substrings
- python - 有没有办法生成项目列表的所有唯一排列