c - 将指向结构的指针传递给函数的C问题
问题描述
我在将结构指针传递给带有fscanf()
.
这是我的结构:
typedef struct {
int health;
int y;
int z;
} save;
在main
我有:
save save = { 0 }; //init with zeros
loadgame(&save);
health = save.health;
我的功能loadgame()
看起来像这样:
bool loadgame(save* save) {
FILE* fptr;
fptr = fopen("savegame.txt", "r");
if (fptr == NULL)
return 0;
fscanf(fptr, "health= %d", save->health);
return 1;
};
我的savegame.txt
文件有一行:
health= 5
并且我的功能没有改变save->health
,完成此功能后我的健康为零。
我试着像那样做我的功能,它在loadgame()
我改变的功能中也有相同的解决方案
fscanf(fptr, "health= %d", save-health);
到
fscanf(fptr, "health= %d", &(save-health));
解决方案
fscanf(fptr, "health= %d", save->health);
->fscanf(fptr, "health= %d", &save->health);
在这里你可以使用https://godbolt.org/z/5CuZwR
在我的示例中,始终检查结果scanf
推荐阅读
- google-apps-script - 如何让光标移动到 Google 表格行?
- json - 使用混合类型和可能的子结构快速解码 JSON
- javascript - 如何以contact7形式将类定位并添加到textarea?
- php - 每 10 次执行一次动作
- ios - 动画着色器值
- antd - 自动完成功能滞后
- python - os.scandir() 在循环中为 find() 创建问题
- amazon-web-services - 使用 boto3 为 IAM 用户授予 aws 控制台管理访问权限
- apache-camel - Junit for apache camel 多个匿名内部类处理器
- python-3.x - 仅索引 ElasticSearch 映射中的几个字段