c语言学生管理系统之文件写入与读出

LINK  FileRead()                                                                                         //读文件
{
    FILE * fp1;
    LINK head = (LINK)malloc(sizeof(NODE));;
    LINK tail;
    tail = head;
    if(!( fp1  =  fopen("StudentSystem.txt","rb")) )
    {
        printf("Error!");
        exit(0);
    }
    while(!feof(fp1))                                                             //判断是否读完
    {
        LINK p = (LINK)malloc(sizeof(NODE));
        if(fread(p,sizeof(NODE),1,fp1)==1)
        {
            p->next = tail->next;
            tail->next = p;
            tail =tail->next;
        }

    }
    tail->next = NULL;
    fclose(fp1);
    printf("%s",head->next->name);
    PrintAllStudentInformation(head);
   return head;                                                                                                              //返回头节点
}

 

 

 

void  FileWrite(LINK head)                                                                                          //写文件
{
    paixuName(head);
    LINK p;
    FILE *fp1;
    p = head->next;
    if((fp1  =  fopen("StudentSystem.txt","wb"))==NULL)
    {
        printf("文件不能打开\n");
        exit(0);
    }
    while(p)
    {
        if(fwrite(p,sizeof(NODE),1,fp1)!=1)
            printf("文件写入出错\n");
        p = p->next;
    }
    fclose(fp1);
}

你可能感兴趣的:(c语言学生管理系统之文件写入与读出)