⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filemanagement.cpp

📁 一个比较完整的有关移动开发的例子 vc++6.0下编译通过
💻 CPP
字号:
#include "FileManagement.h"
#include "DataManagement.h"
#include "FairyLandAppUi.h"
#include <s32file.h>
void CFileManagement::ReadFileL()
{
	//创建会话
	RFs iFession;
	User::LeaveIfError(iFession.Connect());
	
	RFileReadStream readStream;
	TBuf<64> sFileName;
#ifdef __WINS__
	sFileName.Copy(_L("c:\\memo.str"));
#else
	CFairyLandAppUi* pApp=(CFairyLandAppUi*)CEikonEnv::Static()->AppUi();
	pApp->GetAppPath(sFileName);
	sFileName.Append(_L("memo.str"));
#endif
	if (KErrNone!=readStream.Open(iFession,sFileName,EFileRead))
	{
		iFession.Close();
		return;
	}
	readStream.PushL();
	CFairyLandAppUi* pUi=(CFairyLandAppUi*)CEikonEnv::Static()->AppUi();
	CArrayVarFlat<CDataManagemnet>* iArray=pUi->GetArray();
	TInt nNum=0;	
	nNum=readStream.ReadInt32L();
	for (TInt i=0;i<nNum;i++)
	{
		TInt nLen=0;
		nLen=readStream.ReadInt32L();
//		HBufC*	pTitle = HBufC::NewL(nLen);
		TBuf<10> pTitle;
		readStream >> pTitle;//读标题
		nLen=readStream.ReadInt32L();
		TBuf<500> pContent;
		pContent.Zero();
		if (nLen!=0)
		{
			readStream>>pContent;
		}
		CDataManagemnet* data=CDataManagemnet::NewL(pTitle,pContent);
		iArray->AppendL(*data,sizeof(*data));
		delete data;
	}

	readStream.Pop();
	readStream.Release();
	readStream.Close();
	iFession.Close();
}



void CFileManagement::WriteFileL()
{
	RFs iFession;
	User::LeaveIfError(iFession.Connect());
	
	TBuf<64> sFileName;
#ifdef __WINS__
	sFileName.Copy(_L("c:\\memo.str"));
#else
	CFairyLandAppUi* pApp=(CFairyLandAppUi*)CEikonEnv::Static()->AppUi();
	pApp->GetAppPath(sFileName);
	sFileName.Append(_L("memo.str"));
#endif
	iFession.Delete(sFileName);
	RFileWriteStream writeStream;
	User::LeaveIfError(writeStream.Create(iFession, sFileName, EFileWrite));
	
	writeStream.PushL();
	CFairyLandAppUi* pUi=(CFairyLandAppUi*)CEikonEnv::Static()->AppUi();
	CArrayVarFlat<CDataManagemnet>* iArray=pUi->GetArray();
	TInt nNum=iArray->Count();
	writeStream.WriteInt32L(nNum);
	for (TInt i=0;i<nNum;i++)
	{
		writeStream.WriteInt32L(iArray->At(i).GetTitle()->Length());
		writeStream<<iArray->At(i).GetTitle()->Des();
		if (iArray->At(i).GetContent()==NULL)
		{
			writeStream.WriteInt32L(0);
			continue;
		}
		writeStream.WriteInt32L(iArray->At(i).GetContent()->Length());
		writeStream<<iArray->At(i).GetContent()->Des();
	}
	writeStream.CommitL();
	writeStream.Pop();
	writeStream.Release();
	writeStream.Close();
	iFession.Close();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -