3.9 怎樣從/向數據文件讀/寫結構?

用 fwrite() 寫一個結構相對簡單:
    fwrite(&somestruct, sizeof somestruct, 1, fp);
對應的 fread() 調用可以再把它讀回來。但是這樣寫出的文件 卻不能移植 (參見問題 2.10 和 20.3)。同時注 意如果結構包含任何指針, 則只有指針值會被寫入文件, 當它們再次讀回 來的時候, 很可能已經失效。最後, 為了廣泛的移植, 你必須用 ``b'' 標誌 打開文件; 參見問題 12.30

移植性更好的方案是寫一對函數, 用可移植  (可能甚至是人可讀) 的方式按域讀寫結構, 儘管開始可能工作量稍大。

參考資料: [H&S, Sec. 15.13 p. 381]。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)