針對C語言,如何把建好的資料結構寫入磁碟,以後又如何讀入記憶體?

時間 2021-06-03 03:00:41

1樓:jerry.yao

自己針對資料結構寫一套序列化與反序列化的演算法。這方面比較經典的是windows的 MFC,雖然是很古老的技術了,但裡面的物件,文件以及檢視的序列化和反序列化的方法及思想是非常值得幾件的

2樓:Jason於航

這是基礎的基礎吧。

給個粗糙版的寫資料如下。字元陣列那裡可以優化,找到 null-terminator,只寫有效部分。

讀資料更簡單,一樣的思路,直接 fread 到乙個結構體物件就可以。

BTW,不適用於含有指標成員的結構體。

// !!! GCC only !!!

#include

#define STR_BUF 1024

struct

stinner_st;}

__attribute__

((packed

));// no fields alignment;

intmain

(int

argc

,char

**argv);

FILE

*file

=fopen

("st.bin"

,"wb"

);fwrite(&

s,sizeof

(char

),sizeof

(struct

st),

file

);fclose

(file

);return0;}

3樓:Hocker

不清楚回答到哪個層面,現在很多小夥伴忽略了底層,我來回答底層的硬體層次

C語言只是一門語言,表達人們的想法,編譯的程式可以直接執行在底層的硬體上

在硬碟上儲存資料,可以理解為在柱面上的扇區讀寫資料,柱面,磁軌和扇區都有編號,通過這個編號和讀寫命令即可完成對應資料的操作。

記憶體是乙個儲存矩陣,通過橫縱座標即可對資料進行定位,現在的3D儲存可能定位要多一維。也是有專門的讀寫驅動電路進行資料的操作。

4樓:zkl1001

簡單說兩句:

先說寫入讀取磁碟的最基本操作就是檔案處理的基本函式:fopen fread feof fwrite 等等,學到這裡多用幾次就會了

然後就是資料結構儲存的問題,就方案眾多,結合相關的檔案操作f函式,結合需要儲存的關鍵資料綜合考慮才行

學完c語言後先學c 還是先學資料結構

Qter 先學C,寫點簡單的東西入門 然後C 建議用qt,寫點介面的東西,提公升一下成就感與興趣,為後面的學習做鋪墊。然後學資料結構,這部分對於初學者比較枯燥難懂,但如果你能將其應用於一些實際問題 如用qt開發乙個計算器 貪吃蛇小遊戲會涉及到列表 堆疊等資料結構 就非常好懂與有趣了。 耗子 沒有什麼...

想學資料結構和演算法要不要學c語言

皮皮關 在我看來,題主正好提了乙個 套套問題 先養雞還是先孵雞蛋?除了起點不同,好像差不多吧。首先,學C語言就是在學語法 演算法和資料結構 現在由於學科分的比較細,演算法 和 資料結構 的概念變得太狹窄了。實際上,這些都是演算法 交換兩個變數,輸入3個數字求最大的,求20和130的最大公約數,計算2...

考研考C語言,還需要考資料結構麼

尋霧 要考,用考研專用書就行,不過要認真做,如果想考上的話,對待你所考專業要考試的每一科目都不要馬虎應付,畢竟你是考研,不是興趣 薯餅炒粉 肯定需要啊!就像說去吃飯,那請問要點菜麼?乙個道理,不可能幹吃飯 所以還要去學一學資料結構,有個了解,有裡面的思想,然後多做題 Exaggeration 修改內...