c语言:数据载入问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 00:21:59
环境:TC.3.0。
说明:n为结构体数。struct student已经在前面声明了,为双向链表。
想把数据串成上行和下行2条链,这个算法有问题吗?我保存的时候老出错,有可靠算法的直接复制过来也行,先谢谢了

struct student *Load(struct student *head)
{
void FREE(struct student *head); /*释放内存*/
FILE *text;
char a; /*接受输入,判断是非要建立新文件*/
struct student *p1,*p2;
clrscr();
printf("7.Load Records.\n");
printf("Input the file name.\n");
scanf("%s",&filename);
text=fopen(filename,"rb");
if(text!=NULL) /*成功读取到文件*/
{
if(head!=NULL)FREE(head);
fclose(text);
fp=fopen(filename,"rb");
n=0;
head=(struct student*)malloc(LEN);
if(fread(head,LEN,1,fp)==0)
{
if(head!=NULL)free(head);
head=NULL;
n=0;
return(head);
}
p2=head;
if(head!=

不能把一个结构写到文件中,没有这种方法
就像下面的数组矩阵
1111111
2222222
3333333
4444444

你必须一行一行的写入文件,而不能把a[4][7]这个东东直接放到fwrite中写入哟

你代码错了