2011-10-13 184 views
0

我有一種情況,我正在解析C++中的xml文件(使用libxml)和提取的信息,我正在創建一個數據結構&根據進一步修改DS從解析的文件中提取信息。現在我需要將D.S保存在輔助存儲器中,並且我想稍後從內存中取回D.S,以便我可以繼續進一步工作,而無需再次創建D.S。有人可以幫我解決這個問題嗎?存儲和檢索數據結構

+0

當然,只需複製:'DS * backup_ds = new DS(primary_ds);'。 –

+0

如果輔助內存是磁盤,請查看以下內容:http://answers.yahoo.com/question/index?qid=20080514040736AAkgqNw –

+0

將數據結構刷新到磁盤時,需要對其進行序列化。你確定要存儲二進制blob嗎?問題在於,當您更新代碼以修改數據結構時,無法回讀之前保存的內容。所以向後兼容性是一個問題。你爲什麼堅持不要創造d.s.再來一次? –

回答

0

我假設'二級存儲器'是一個硬盤驅動器或什麼的。在這種情況下,使用fwrite和fread,或者在C++過載中使用<和<,如果你願意的話。你如何做到這一點取決於你的數據結構,如果它的成員是指針,那麼事情會變得更加複雜。

你的問題沒有足夠的信息來真正幫助你。

+0

非常感謝你的回覆。好的,我提取所有組件名稱,類型,地址,數據,父級,層次結構等列表(從xml)並創建數據結構,以便能夠連接和實例化組件,並對它們進行分類根據我上面提到的領域的信息。現在我需要將所有信息轉儲到一個文件(在硬盤驅動器中)並稍後檢索它們,以便當我解析另一個xml文件時,代碼應該取回現有的數據結構並修改相同的.. – sundar