c語言結構體檔案寫入亂碼,急!C語言程式設計 寫入檔案的資料變成亂碼是怎麼回事?

時間 2021-09-11 22:33:34

1樓:匿名使用者

fwrite是將記憶體中的資料不經轉換直接寫入檔案,所以檔案中儲存的是二進位制形式,當然看到亂碼了。

你可以試試:

fprintf(fp1,"%s%s%s%s%s%s",copy1.title,copy1.copies,copy1.

rental_duration,copy1.director,copy1.actor,copy1.

genre);

另外,輸入字串時,不用取地址。

scanf("%s%s%s%s%s%s",copy1.title,copy1.copies,copy1.

rental_duration,copy1.director,copy1.actor,copy1.

genre);

詳細可以看看

2樓:滿元修倫庚

1、最好用2進位制方法開啟檔案,用fwrite 寫檔案。讀時也用用2進位制方法開啟檔案,用fread讀.這樣,寫的時候按整個結構寫,讀也按整個結構讀,字串有空白也沒關係。

2、例程:

file *fp;

fp=fopen("my.dat","wb");

寫1個結構

for (i=0;i<寫10個結構

fclose(fp);

fp=fopen("my.dat","rb");

讀1個結構

for (i=0;i<讀 10個結構

fclose(fp);

急!c語言程式設計~寫入檔案的資料變成亂碼是怎麼回事?

3樓:斯坦恩貝格(北京)電子****

結構體型別寫入檔案,那麼儲存的必然是二進位制資料,直接看檔案肯定是亂碼的。如果想檔案內容是直接可看的,那麼不要直接儲存結構體,應該自己設計這個檔案的文字格式,按文字方式儲存資料。

c語言結構體定義,C語言結構體定義

c語言結構體定義 struct為結構體關鍵字,tag為結構體的標誌,member list為結構體成員列表,其必須列出其所有成員 variable list為此結構體宣告的變數。結構體是c語言中聚合資料型別 aggregatedatatype 的一類。結構體可以被宣告為變數 指標或陣列等,用以實現較...

c語言結構體別名定義問題,C語言結構體別名定義問題

typedef struct stu linklist 此處第一了一個型的型別,即struct stu 即指向結構體stu的指標 所以head的型別也就是struct stu head為一個指向stu結構體型別的指標。但是並沒有未其分配具體的空間。可以將一個已定義為stu結構體的指標賦給它。 c語言...

C語言結構體程式設計題,求助大神啊,C語言結構體程式設計題,求大神!

自我程式設計 根據題意 一 教師資訊定義為結構體,其成員年月也為結構體 可直接定義成兩個成員變數,本題沒有強制要求 婚姻狀態採用共用體型別。二 輸入資訊直接寫在main函式,實際軟體開發應單獨寫輸入函式,輸入驗證我只寫了性別和婚姻狀態的驗證,其餘成員的輸入驗證需要自己新增。實際開發,驗證也應單獨寫函...