C语言储存游戏历史记录代码
时间: 2023-07-09 17:37:55 浏览: 54
好的,以下是一个简单的示例代码,用于储存游戏历史记录:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_RECORDS 100
typedef struct {
char name[20];
int score;
} Record;
int main() {
Record records[MAX_RECORDS];
int num_records = 0;
// 读取历史记录文件,如果文件不存在则创建
FILE *fp = fopen("records.txt", "a+");
if (fp == NULL) {
printf("无法打开历史记录文件!\n");
exit(1);
}
// 读取历史记录
char line[50];
while (fgets(line, 50, fp)) {
sscanf(line, "%s %d", records[num_records].name, &records[num_records].score);
num_records++;
}
// 输出历史记录
printf("历史记录:\n");
for (int i = 0; i < num_records; i++) {
printf("%s %d\n", records[i].name, records[i].score);
}
// 添加新记录
printf("请输入您的名字和分数:\n");
scanf("%s %d", records[num_records].name, &records[num_records].score);
num_records++;
// 写入历史记录文件
rewind(fp);
for (int i = 0; i < num_records; i++) {
fprintf(fp, "%s %d\n", records[i].name, records[i].score);
}
fclose(fp);
return 0;
}
```
这个程序将历史记录存储在名为“records.txt”的文本文件中。每行包含一个玩家的名字和分数,以空格分隔。当程序运行时,它会读取文件中的历史记录,显示它们,并询问您要添加的新记录。然后,它将新记录添加到数组中并将整个数组写回文件中。