1

コード

struct Student
{
unsigned int ID;
char name[256];
int FileLocLeft;
int FileLocRight;
int FileLocParent;
};

void main()
{
Student CurStudent;

FILE* fp = fopen("d:\\students.bat", "w");
if(fp == NULL)
{
    printf("File not found\n");
}
else
{
    fseek(fp,0,SEEK_SET);
    CurStudent.FileLocLeft = 0;
    CurStudent.FileLocParent = 0;
    CurStudent.FileLocRight = 0;
    CurStudent.ID = 0;
    CurStudent.name = "Root";
    fwrite(CurStudent,sizeof(Student),1,fp);
}
}

私は 2 つのエラーで問題を抱えています.空所'"

4

2 に答える 2

3

C でそのような配列に代入することはできずfwrite、ポインターが必要です。構造体を渡すことはできません。どうですか:

strcpy(CurStudent.name, "Root");
fwrite(&CurStudent, sizeof(CurStudent), 1, fp);
       ^
于 2012-08-26T20:40:37.647 に答える
2
  1. 文字列はchar単なる配列です。Cにはstr、これらを処理するのに役立つ特別な関数があります。
  2. 構造体変数のアドレスを取得しfwriteます。データへのポインターが必要です。
于 2012-08-26T20:40:36.843 に答える