構造体のファイル間での書き込み/読み込みなのですが、write()でエラーが
返ってきます。どこが間違っているのでしょうか?

#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <sys\types.h>
#include <sys\stat.h>
#define STUDENTS 2

typedef struct {
int sub1;
int sub2;
} Scorelist;

void ip_scorelist(FILE *fp, Scorelist *scorelist)
{
char buf[256];
int i;

for (i = 0; i < STUDENTS; i++) {
/* sub1のスコアを入力 */
printf("sub1(student #%d?)\n", i + 1);
fgets(buf, sizeof(buf), fp);
sscanf(buf, "%d", &scorelist[i].sub1);
/* sub2のスコアを入力 */
printf("sub2(student #%d?)\n", i + 1);
fgets(buf, sizeof(buf), fp);
sscanf(buf, "%d", &scorelist[i].sub2);
}
}