當前位置:首頁 » 編程語言 » c語言鏈表保存到文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言鏈表保存到文件

發布時間: 2023-07-06 23:22:12

❶ 關於C語言中,鏈表數據的文件儲存和提取。

當把鏈表已經確定的時候,就可以依次存入文件。

和平時鏈表的遍歷一樣,每讀取一個節點內容就進行一次存入操作。

不過要注意幾個部分的檢查:

  1. 內存空間是否分配成功

  2. 是否成功存入到文件中

  3. 在工作完成之後,是否將以後不會用到的變數清空和刪除。


按照問題要求的代碼如下:

Consumer*read_list()

{

FILE*fp;

if((fp=fopen("CONSUMER.dat","rb"))==NULL)

{

printf("無法讀取CONSUMER.dat ");

returnNULL;

}

intsign;

Consumer*s,*p,*head;


head=(Consumer*)malloc(SIZE_C);

if(head==NULL)

{

printf("讀取失敗!內存空間申請不足! ");

returnNULL;

}

fseek(fp,0,SEEK_END);

if(ftell(fp)==0)

{

returnNULL;

}

p=head;

p->next=NULL;

while(feof(fp))

{

s=(Consumer*)malloc(SIZE_C);

//fread(s,SIZE_C,1,fp);

fread(s,sizeof(char),SIZE_C,fp);

p->next=s;

p=s;

p->next=NULL;

}

fclose(fp);

returnhead;

}//讀取文件到鏈表

intsave_consumer(Consumer*p)

{

FILE*fp;

Consumer*head;

head=p;//p為已經構建好的鏈表

//if((fp=fopen("CONSUMER.dat","ab+"))==NULL)

if((fp=fopen("CONSUMER.dat","wb"))==NULL)

{

printf("無法打開CONSUMER.dat! ");

return-1;

}

while(p!=NULL)

{

//fwrite(p,SIZE_C,1,fp);

fwrite(p,sizeof(char),SIZE_C,fp);

p=p->next;

}

fclose(fp);

return1;

}//儲存鏈表到文件

❷ C語言中如何將一個鏈表保存為文件

第一步:創建文件 比如說 file *fp=fopen(……);
第二步:寫一個循環,把鏈表的節點一個一個寫進文件里。
第三部:記得關閉文件- -