#ifndef __SAVE_ENGINE__
#define __SAVE_ENGINE__
#include <S32STRM.h>
class CSaveEngine
{
public:
CSaveEngine();
virtual ~CSaveEngine();
public:
void ExternalizeL(RWriteStream &aStream) const;
void InternalizeL(RReadStream &aStream);
public:
TBuf8<128> iValue;
TInt iInt;
};
#endif
#include "SaveEngine.h"
CSaveEngine::CSaveEngine()
{
}
CSaveEngine::~CSaveEngine()
{
}
void CSaveEngine::ExternalizeL(RWriteStream &aStream) const
{
aStream << iValue;
aStream.WriteInt32L(iInt);
}
void CSaveEngine::InternalizeL(RReadStream &aStream)
{
TInt nTemp;
aStream >> iValue;
nTemp = aStream.ReadInt32L();
}
调用:
iSave = new (ELeave)CSaveEngine();
iSave->iValue.Copy(_L("234324324"));
iSave->iInt = 1001;
RFs& fs = CCoeEnv::Static()->FsSession();
RFileWriteStream writeStream;
User::LeaveIfError(writeStream.Create(fs, _L("c://log.txt"), EFileWrite));
//writeStream.PushL(); //压入清理栈
//iSave->ExternalizeL(writeStream);
//writeStream.Close();
writeStream << *iSave;
writeStream.CommitL();
writeStream.Close();