这个程序我实在检劳烦各位大侠给检查哈,底下的是我附带的编译时的错误,到我看不太懂,麻烦给我讲解哈,谢谢了!
#include<stdio.h>
#define BUFSIZE 10
struct filetext{
char buf[BUFSIZE];
struct filetext *next;
}
//读取文件,并插入进链表的函数,filename为要读取的文件名,head为链表的头节点,函数返回插入新节点后链表的头节点
struct filetext * readfile(struct filetext * head)
{
struct filetext * new = (struct filetext *)malloc(sizeof(struct filetext));//定义一个新成员,并给它分配空间
FILE * fp;//读取文件的文件流
struct filetext * p =head;//定义一个p,用来寻找链表中最后一个节点
if((fp=(fopen(filename,"r+")))==NULL)
{
//如果打开文件失败,返回head,并提示
printf("open file failure");
return head;
}
//然后开始读取文件,放到new的buf中
if(fread(new->buf,BUFSIZE,1,fp))
{
//如果读取失败,提示,并返回head
printf("read file failure");
return head;
}
fclose(fp);
//文件读取完后,进行链表操作
if(!head)//如果传进来的head是个空指针,那么新指针就作为头节点返回
{
new->next = NULL;
return new;
}
while(p->next) p = p->next;//把p移动到最后一个节点
p->next = new;//p的下一个节点为new
new->next = NULL;//new的下一个节点为空
return head;
}
main()
{
struct filetext *head;
*readfile(head);
}
这个程序我实在检劳烦各位大侠给检查哈,底下的是我附带的编译时的错误,到我看不太懂,麻烦给我讲解哈,谢谢了!
E:\VC6\Common\MSDev98\Bin\链表.c(10) : warning C4013: 'malloc' undefined; assuming extern returning int
E:\VC6\Common\MSDev98\Bin\链表.c(13) : error C2065: 'filename' : undeclared identifier
E:\VC6\Common\MSDev98\Bin\链表.c(13) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int '
E:\VC6\Common\MSDev98\Bin\链表.c(13) : warning C4024: 'fopen' : different types for formal and actual parameter 1
Error executing cl.exe.
链表.obj - 2 error(s), 3 warning(s)