就是我写了一个贪吃蛇代码 然后最高历史记录以文件方式储存 但是我的文件里没有数据怎么办

文件里出现其他字符,没有最高历史记录,调试过后也没有用,文件读写代码也没有问题

写文件参考:

#include "stdio.h"

struct SNAKE
{
    int direction;
    int life;
    int node;
    int level;
    int score;
}snake;
struct FOOD{
    int x;
    int y;
    int yes;    
}food;
void main()
{
  FILE *fp;
  snake.direction=1;
  snake.life=1;
  snake.node=3;
  snake.level=1;
  snake.score=0;
  
  food.x=100;
  food.y=200;
  food.yes=1;
  fp = fopen("d:\\snake.dat","wb+");
  if(fp==NULL){
      printf("can not open file.\n");
      exit(0);
  }
  fwrite(&snake,sizeof(struct SNAKE),1,fp);
  fwrite(&food,sizeof(struct FOOD),1,fp);
  fclose(fp);
}

读文件:

#include "stdio.h"

struct SNAKE
{
    int direction;
    int life;
    int node;
    int level;
    int score;
}snake;
struct FOOD{
    int x;
    int y;
    int yes;    
}food;
void main()
{
  FILE *fp;

  fp = fopen("d:\\snake.dat","rb");
  if(fp==NULL){
      printf("can not open file.\n");
      exit(0);
  }
  //读文件内容,读取的顺序必须和顺序一致
  fread(&snake,sizeof(struct SNAKE),1,fp);
  fread(&food,sizeof(struct FOOD),1,fp);
  fclose(fp);
  
  printf("蛇的参数如下:\n");
  printf("蛇的方向:%d,生命:%d,长度:%d,等级:%d,得分:%d\n",snake.direction,snake.life,snake.node,snake.level,snake.score);
  printf("食物的x坐标:%d,y坐标:%d,是否要发食物:%d",food.x,food.y,food.yes);
}