您好,登錄后才能下訂單哦!
C++ 序列化庫通常用于將對象的狀態信息轉換為可以存儲或傳輸的格式,以便稍后在內存中重新創建對象
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/serialization/vector.hpp>
#include <boost/serialization/string.hpp>
#include <fstream>
#include <vector>
#include <string>
int main() {
try {
std::vector<std::string> data = {"Hello", "World"};
std::ofstream ofs("data.txt");
boost::archive::text_oarchive oa(ofs);
oa << data;
std::vector<std::string> restored_data;
std::ifstream ifs("data.txt");
boost::archive::text_iarchive ia(ifs);
ia >> restored_data;
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
#include <cereal/archives/binary.hpp>
#include <cereal/types/vector.hpp>
#include <cereal/types/string.hpp>
#include <fstream>
#include <vector>
#include <string>
int main() {
try {
std::vector<std::string> data = {"Hello", "World"};
std::ofstream ofs("data.bin", std::ios::binary);
cereal::BinaryOutputArchive oa(ofs);
oa(data);
std::vector<std::string> restored_data;
std::ifstream ifs("data.bin", std::ios::binary);
cereal::BinaryInputArchive ia(ifs);
ia(restored_data);
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
在這兩個示例中,我們使用 try-catch 語句來捕獲和處理序列化過程中可能發生的異常。這些異常可能包括文件操作錯誤、序列化錯誤等。在實際應用中,你可能需要根據具體情況對異常進行更詳細的處理。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。