fwrite,freadの実験をした。
_CRT_SECURE_NO_WARNINGS
DATA 10
<stdio.h>
<string.h>
<time.h>

typedef struct {
int id;
char name[20];
int score;
time_t date;
}score;

int main(void) {
int i = 0;
score scores[DATA];
for (i = 0; i < 10; i++) {
scores[i].id = i+1;
strcpy(scores[i].name, "JUN");
scores[i].score = 10000-1000*i;
scores[i].date = time(NULL);
printf("id:%d\tname:%s\tscore:%d\tdate:%s\n", scores[i].id, scores[i].name, scores[i].score, ctime(&scores[i].date));
}
//scores[4].score = 8732;
FILE* fp;
fp = fopen("data.dat", "wb");
for (i = 0; i < DATA; i++) {
fwrite(&scores[i], sizeof(scores[i]), 1, fp);
}

fclose(fp);

score getscores[DATA];
fp = fopen("data.dat", "rb");
for (i = 0; i < DATA; i++) {
fread(&getscores[i], sizeof(getscores[i]), 1, fp);
printf("id:%d\tname:%s\tscore:%d\tdate:%s\n", getscores[i].id, getscores[i].name, getscores[i].score, ctime(&getscores[i].date));
}
fclose(fp);
}

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。