序列化操作的含義顧名思義,即按一定的次序?qū)?shù)據(jù)保存到存儲設(shè)備中,或者從存儲設(shè)備中讀取一定次序的數(shù)據(jù),且數(shù)據(jù)類型要保持一致(即讀出的數(shù)據(jù)是我知道的類型)。過程知道了,那怎么做呢?
創(chuàng)新互聯(lián)公司長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為攸縣企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,攸縣網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。我是借助Qt框架實現(xiàn)的一個簡單的程序。(當(dāng)然框架把復(fù)雜的部分給實現(xiàn)了。如果在你封裝的數(shù)據(jù)中,意思是非Qt標準的數(shù)據(jù)類型,那么有必要實現(xiàn)"<<" 和 ">>" 運算子來實現(xiàn)自定義類型的序列化操作)。
具體的實現(xiàn)過程如下:
//order.h
#include
#include
#include
typedef struct __MY_STRCT
{
QString _name;
unsigned int _id;
}SMY_STRCT;
QDataStream & operator << (QDataStream& out, const SMY_STRCT &data);
QDataStream &operator >> (QDataStream& in, SMY_STRCT &data);
class OrderClsTest
{
public:
OrderClsTest();
void store();
void load();
private:
QDateTime _lastTime;
};
//order.cpp
#include "orderclstest.h"
#include
OrderClsTest::OrderClsTest()
{
store();
}
void OrderClsTest::load()
{
QFile file("./data.dat");
if(!file.open(QIODevice::ReadOnly)) return ;
SMY_STRCT _my_strct;
QDataStream in(&file);
in >> _lastTime >> _my_strct;
file.close();
}
void OrderClsTest::store()
{
QFile file("./data.dat");
if(!file.open(QIODevice::WriteOnly)){ return ;}
_lastTime = QDateTime::currentDateTime();
QDataStream out(&file);
SMY_STRCT _my_strct;
_my_strct._id = 123;
_my_strct._name = "hello";
out << _lastTime << _my_strct;
file.close();
}
QDataStream& operator << (QDataStream &out, const SMY_STRCT &data)
{
out << data._id << data._name;
return out;
}
QDataStream& operator >> (QDataStream &in, SMY_STRCT &data)
{
in >> data._id >> data._name;
return in;
}
int main(int argc, char *argv[])
{
OrderClsTest test;
test.load();
}
是不是很簡單?從事框架開發(fā)指導(dǎo)這些就行了,如果你想實現(xiàn)正真意義上的序列化操作,可以參考MFC 的Persistence機制,也就是我的上一個博客。你會見識的很多。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。