有没有办法让一个指针指向读取的文件的首地址

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:04:32
有没有办法让一个指针指向读取的文件的首地址
我在前面已经创建并写入了一个文件
struct materiel//结构体
{
int num;
char name[20];
int sort;
char type[20];
int price;
int reserve;
int lend;
struct materiel *next;
};
//定义的函数
void TYPF(struct materiel *head)
{
FILE *fp;
struct materiel *p;

char m[20];
p=head;
if((fp=fopen("record.txt","r"))==NULL)
{

printf("该文件不能打开,请按任意键返回。\n");
getch();

return ;
}
printf("请输入要查询物料的型号:\n");
scanf("%s",m);
printf("打出来");
while(strcmp(p->type,m)&&p!=NULL)//这里有问题,但没有报错
{

p=p->next;
}
if(p!=NULL)
{ printf("%s",p->type);}
else if(p==NULL)
printf("未找到\n");
else printf("error");
fclose(fp);

}
可是怎么让这个结构体指针struct materiel *p指向打开的文件的首地址
我是刚学的,麻烦讲详细一点

你得先把文件的内容写到内存才行,
struct materiel *p,用fread(p,1,sizeof(struct materiel),fp),这样就把链表头指针的内容给存到地址p里了。fread函数写得好像不太对,不过这四个参数,中间两个一个是读取的次数,一个是读取的大小。

rewind ??