如何在 C 中序列化物件:綜合指南
在資料交換領域,序列化物件的能力至關重要。序列化將物件轉換為位元組數組,從而允許透過網路高效傳輸或儲存在檔案中。 C 是一種多功能語言,為物件序列化提供了各種解決方案。
一種流行的方法是 Boost 序列化函式庫。 Boost 提供了一套全面的工具來序列化簡單和複雜的物件。若要使用 Boost 序列化對象,可以依照下列步驟操作:
#include <boost/archive/binary_oarchive.hpp> #include <fstream> std::ofstream ofs("filename.dat", std::ios::binary); boost::archive::binary_oarchive oa(ofs); oa << myObject;
#include <boost/archive/binary_iarchive.hpp> std::ifstream ifs("filename.dat", std::ios::binary); boost::archive::binary_iarchive ia(ifs); ia >> myDeserializedObject;
#include <cereal/archives/binary.hpp> #include <cereal/archives/json.hpp> class MyObject { public: template <class Archive> void serialize(Archive &ar) { ar &m_value1; ar &m_value2; } private: int m_value1; std::string m_value2; };
// Binary serialization { std::ofstream os("filename.bin", std::ios::binary); cereal::BinaryOutputArchive archive(os); archive(myObject); } // JSON serialization { std::ofstream os("filename.json"); cereal::JSONOutputArchive archive(os); archive(myObject); }
以上是如何使用 Boost 和 Cereal 在 C 中有效序列化物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!