文件里出现其他字符,没有最高历史记录,调试过后也没有用,文件读写代码也没有问题
写文件参考:
#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);
}