CDocumentExampleDocument* aDocument =
static_cast< CDocumentExampleDocument* > (AppUi()->Document() ); aDocument->SaveL(); 本部分参照《Series 60应用程序框架》一书。 二、ini文件读写 Series 60中并沒有默认提供对Symbian OS .ini文件的支持。为了允许应用程序使用.INI文件,必须重写应用程序类的OpenIniFileLC()函数,使其调用EikApplication:: OpenIniFileLC()。例如: CDictionaryStore* CDocumentExampleApplication::OpenIniFileLC(RFs& aFs) const { return CEikApplication::OpenIniFileLC(aFs); } 此时,运行应用程序,即会发现有ini文件产生。 在CDocumentExampleAppUi里写两个函数WriteIniFile、ReadIniFile,通过这两个函数可以读写ini文件。 void CDocumentExampleAppUi::WriteIniFile(TUid iInfo, TDes& aWrite) { RFs fs; fs.Connect(); CleanupClosePushL(fs); RDictionaryWriteStream rdsIniFile; CDictionaryStore *cdIniFile = Application()->OpenIniFileLC(fs);//如果不存在就创建 rdsIniFile.AssignLC(*cdIniFile, iInfo); // TPtr8 buf((TUint8*)ptr, size, size); // TRAP(r, rdsIniFile.WriteL(buf)); rdsIniFile << aWrite; rdsIniFile.CommitL(); CleanupStack::PopAndDestroy(); cdIniFile->CommitL(); CleanupStack::PopAndDestroy(2); } TBool CDocumentExampleAppUi::ReadIniFile(TUid iInfo, TDes& aRead) { TBool result = EFalse; RFs fs; fs.Connect(); CleanupClosePushL(fs); RDictionaryReadStream rdsIniFile; CDictionaryStore *cdIniFile = Application()->OpenIniFileLC(fs); if (cdIniFile->IsPresentL(iInfo)) { rdsIniFile.OpenLC(*cdIniFile, iInfo); // TPtr8 buf((TUint8*)ptr, size, size); // TRAP(r, rdsIniFile.ReadL(buf)); rdsIniFile >> aRead; CleanupStack::PopAndDestroy(); // rdsIniFile result = ETrue; } CleanupStack::PopAndDestroy( 2); // fs, cdIniFile return result; } 本部分参考了《Symbian中操作ini文件》一文。 总结,本文介绍了如何利用文档类读写数据文件以及如何读写ini文件,这两个文件的保存的地址为:C:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\winscw\c\private\eeddfaa4,其中eeddfaa4为应用程序的UID,C:\S60\devices\S60_3rd_FP2_SDK_v1.1为模拟器安装地址。源码下载地址