刚写了一段记录源码,也给你作为参考
#include <stdio.h>
#include <string.h>
typedef struct bgActorRecord
{
int lv;
int hp;
int mp;
}BGActorRecord;
typedef BGActorRecord ActorRecord;
ActorRecord actorRecord;
void initActorRecord(void);
void getActorRecord(void);
void setActorRecord(void);
void deleteActorRecord(void);
int main(void)
{
initActorRecord();
actorRecord.lv = 1;
actorRecord.hp = 2;
actorRecord.mp = 3;
setActorRecord();
getActorRecord();
printf("%d %d %d", actorRecord.lv, actorRecord.hp, actorRecord.mp);
deleteActorRecord();
getchar();
return 0;
}
void initActorRecord(void)
{
FILE* fp = NULL;
fp = fopen("register", "rb+");
if (fp == NULL)
{
memset(&actorRecord, 0, sizeof(actorRecord));
fp = fopen("register", "w");
fwrite(&actorRecord, sizeof(actorRecord), 1, fp);
fclose(fp);
}
}
void setActorRecord(void)
{
FILE* fp = NULL;
fp = fopen("register", "rb+");
if (fp != NULL)
{
fwrite(&actorRecord, sizeof(actorRecord), 1, fp);
fclose(fp);
}
}
void getActorRecord(void)
{
FILE* fp = NULL;
fp = fopen("register", "rb+");
if (fp != NULL)
{
fread(&actorRecord, sizeof(actorRecord), 1, fp);
fclose(fp);
}
}
void deleteActorRecord(void)
{
FILE* fp = NULL;
fp = fopen("register", "rb+");
if (fp != NULL)
{
memset(&actorRecord, 0, sizeof(actorRecord));
fwrite(&actorRecord, sizeof(actorRecord), 1, fp);
fclose(fp);
}
}