关于文件的读写 ,有兴趣就进来看看!!!!
void openfile(FILE *nf) /*这是一个显示文件内容的函数*/{
int d=0;
rewind(nf);
rd=(struct pcb *)malloc(sizeof(struct pcb));
if(!rd)exit(0);
while(!feof(nf))
{ fread(rd,sizeof(struct pcb),1,nf);
printf("\nNO.%d=====================================\n",++d);
printf("%s\n%s\n%s\n%s\n%s\n",rd->a,rd->kehu,rd->gongyi,rd->kebian,rd->beizhu);
printf("\n=====================================\n");
}
if(d==0)printf("file is null!\n");
}
no2=head; /*这段代码是将数据写入文件的函数,数据是一条头指针为head(节点类型是struct pcb)的链表*/
while(no2)
{
if(fwrite(no2,sizeof(struct pcb),1,nf)!=1)puts("error");
/*printf("%s\n%s\n%s\n%s\n%s\n",no2->a,no2->kehu,no2->gongyi,no2->kebian,no2->beizhu);*/
no2=no2->next;
}
链表确定没问题了,我已经测试过!!!但文件内容的显示有问题,只能显示第一个被写入文件的数据.其它的就显示为乱码,不知道是写入文件时出了问题还在读取显示内容时出了问题,帮此想听听各位的意见!!!!!
附件为全部的原代码!!!
pcb.rar
(1.61 KB)