C語言fwrite 寫入連結串列錯誤

2025-07-17 02:50:20 字數 1369 閱讀 6940

1樓:網友

呼叫fwrite時,第乙個引數p1,型別是struct books1

第二個引數是sizeof(struct books),型別不一樣,乙個是books1,乙個是books。

2樓:網友

如果是連結串列的話,結構中的指標在回讀後一定記住要重建。

c語言如何將連結串列裡的值寫入檔案

3樓:網友

先定義乙個全域性的檔案 file *fp;

讀檔案。if((fp=fopen("","r"))null)/*開啟檔案*/

while(!feof(fp))

fclose(fp);

寫檔案。if((fp=fopen("","w"))null)while(p!=null)

fclose(fp);

4樓:網友

看一下c語言的基本檔案操作吧。。建議使用fwrite(),遍歷連結串列的時候寫入就ok。開啟檔案和這個相反,先看下基礎吧。

c語言無法把連結串列資料寫入檔案中

5樓:一知二

fwrite(head, sizeof(struct student), 1, fp);

還有head->next==null;

應該改為head->=null;

printf("學號:");上面那行head;什麼意思???應該把它去掉吧。

c語言連結串列寫入檔案出現亂碼

6樓:網友

fwrite(cur,sizeof(*usr),1,fp);

sizeof(usr) = 4; //乙個指標大小。

sizeof(*usr) = usr結構體大小;

7樓:孤行雪影

這用的二進位輸出流。你用記事本開啟肯定不能看啊。

c語言實現連結串列,為什麼我把連結串列寫入檔案,檔案裡面顯示的是亂碼。下面是我的**,請好心人幫我提下。

8樓:網友

你的程式並沒有寫錯。資料已經寫入的檔案,你下次也可以從檔案裡讀入並還原這個連結串列。

這只是乙個字元的顯示問題,你將乙個int資料寫入資料,顯然佔據四個位元組,而當你用記事本開啟時它就會根據你當前採用的字符集解釋這四個位元組的含義,然後再顯示出來。但由於你存入的是整型資料而不是某個字符集的字元,所以解釋出來的在很大可能上就會是亂碼。

這就是所謂的二進位檔案和字元檔案的區別。

如果你將乙個整數,如432轉換成三個字元'4' '3' '2'然後存入檔案,當你用記事本開啟這個檔案時就會看到你想要的432而不是一堆亂碼。

c語言刪除連結串列問題,C語言刪除連結串列問題

del函式while改為 while p1 null if p1 data num p1 p1 next 這個就需要你判斷了,你首先需要將連結串列的資料全部遍歷一遍,在遍歷的同時就判斷該資料是否為你要刪除的資料,如果是,就刪除,繼續遍歷 一直到結束,這樣就可以吧1全部刪除了。滿意請採納!用這個程式到...

C語言連結串列

include include struct chain struct chain create return head struct chain inlink struct chain head,int a,int b int a代表要插入的節點,int b代表建立節點的資料域 if head v...

c語言連結串列建立和輸入,C語言連結串列建立和輸入

include link.h 實現類似於strlen struct string linkinfo bl stringlen blstring link char p block pnode null if null link 連結串列為空 if null link head else 當while...