亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? filerw.cpp

?? 一些symbian開發(fā)的小例子
?? CPP
字號:
// FileRW.cpp
//
// Copyright (c) 2005 Neusoft Institute of Information Technology.Chengdu  
// All rights reserved.

// written by hewei
//  
// version 1.0

//Date: 2005-11-01

// This program demostrate how to read data from and write data to a file. 

// NOTE: the structure of this example is different to standard E32 examples


#include <e32cons.h>
#include <f32file.h>
#include <e32std.h>
#include <s32file.h>

  // All messages written to this
LOCAL_D CConsoleBase* console;

// Function prototypes
 void callExampleL();
 void doExampleL();
 

 /////////////////////////////////////////////////////////////////
 //
 //CStudent class definition
 //
 /////////////////////////////////////////////////////////////////
 class CStudent :public CBase
 {
  public:
	  static CStudent* NewL(TDesC& aName,TInt aNo,TReal aScore);
	  static CStudent* NewLC(TDesC& aName,TInt aNo,TReal aScore);
	  ~CStudent();
  
	  static CStudent* NewL(RReadStream& aStream);   //帶有讀取流參數(shù)的NewL和NewLC
      static CStudent* NewLC(RReadStream& aStream);  //函數(shù)
  public:	  
	 void ExternalizeL(RWriteStream& aStream); //外化
	 void InternalizeL(RReadStream&  aStream); //內化
	 void Display(); //顯示
  private:
	  CStudent();
	  CStudent(TInt aNo,TReal aScore);
	  void ConstructL(TDesC& aName);
	 
  private:
	  HBufC* iName;
	  TInt iNo;
	  TReal iScore;
 };
 /////////////////////////////////////////////////////////////////////
 //
 //Cstudent class implemention
 //
 //////////////////////////////////////////////////////////////////////
 CStudent* CStudent::NewL(TDesC& aName,TInt aNo,TReal aScore)
 {
     
    CStudent* self=CStudent::NewLC(aName,aNo,aScore);
	CleanupStack::Pop();
	 return self;
 }
 CStudent* CStudent::NewLC(TDesC& aName,TInt aNo,TReal aScore)
 {
	 
	 CStudent* self=new (ELeave) CStudent(aNo,aScore);
	 CleanupStack::PushL(self);
     self->ConstructL(aName);
	 return self;
 }
 CStudent::CStudent(TInt aNo,TReal aScore)
 {
	 iNo=aNo;
	 iScore=aScore;
 }
 CStudent::CStudent()
 {
 }

 void CStudent::ConstructL(TDesC& aName)
 {
	 iName=aName.AllocL();
	 
 }
 CStudent::~CStudent()
 {
	 delete iName;
	 iName=NULL;
 }
 
 void CStudent::ExternalizeL(RWriteStream& aStream)
 {
       aStream<<*iName;
	   aStream.WriteInt32L(iNo);
	   aStream.WriteReal32L(iScore);
 }
 void CStudent::InternalizeL(RReadStream& aStream)
 {
	 delete iName;
	 iName=NULL;
     iName=HBufC::NewL(aStream,10);
	 
	 iNo=aStream.ReadInt32L();
	 iScore=aStream.ReadReal32L();
 }
 CStudent* CStudent::NewL(RReadStream& aStream)
 {
    	CStudent* self=CStudent::NewLC(aStream);
		CleanupStack::Pop();
	    return self;
 }
CStudent* CStudent::NewLC(RReadStream& aStream)
{

	CStudent* self=new (ELeave) CStudent;
    CleanupStack::PushL(self);
	self->InternalizeL(aStream);
	return self;
}
void CStudent::Display()
{
	_LIT(KNo,"No=%d\n");
	_LIT(KScore,"score=%f\n");
	_LIT(KNewLine,"\n");
	console->Printf(*iName);
    console->Printf(KNewLine);
	console->Printf(KNo,iNo);
	console->Printf(KScore,iScore);
	console->Printf(KNewLine);
}

 
///////////////////////////////////////////////////////////////////////////////////
//
//define Cstulist class to build list of student
//
///////////////////////////////////////////////////////////////////////////////////
 class CStuList:public CBase
 {
 public:
	static CStuList* NewL(TDesC& aFileName,CArrayFixFlat<CStudent>* aArray);
	static CStuList* NewLC(TDesC& aFileName,CArrayFixFlat<CStudent>* aArray);
 private:
	 CStuList();
	 void ConstructL(const TDesC& aFileName,CArrayFixFlat<CStudent>* aArray);
 public:
	 void WriteToFileL(RFs aFs);   //寫文件
	 void ReadFromFileL(RFs aFs);  //讀文件
     void BrowseList(); //瀏覽列表
	 void StuAppendL(const CStudent& aStudent); //添加數(shù)據(jù)
	
     void ExternalizeL(RWriteStream& aStream);  //外化
	 void InternalizeL(RReadStream&  aStream);  //內化
 private:
	 
	 CArrayFixFlat<CStudent>* iStudentArray;
	 TFileName iFileName;
};
///////////////////////////////////////////////////////////////////////////////////////
//
//implement CStuList
//
/////////////////////////////////////////////////////////////////////////////////////////
 CStuList* CStuList::NewL(TDesC& aFileName,CArrayFixFlat<CStudent>* aArray)
{
	CStuList* self=NewLC(aFileName,aArray);
	CleanupStack::Pop();
	return self;
}
CStuList* CStuList::NewLC(TDesC& aFileName,CArrayFixFlat<CStudent>* aArray)
{
	
	CStuList* self=new (ELeave)CStuList();
	CleanupStack::PushL(self);
    self->ConstructL(aFileName,aArray);
	return self;
}
void CStuList::StuAppendL(const CStudent& aStudent)
{
	iStudentArray->AppendL(aStudent);
}
void CStuList::BrowseList()
{
	
	_LIT(KEmpty,"List is empty!\n");
	TInt count;

	count=iStudentArray->Count();
	if(count==0)
	{
		console->Printf(KEmpty);
	}
	else
	{
	 for(TInt i=0;i<count;i++)
	 {
		(*iStudentArray)[i].Display();
		
	 }
	}//else
}

CStuList::CStuList()
{
}
void CStuList::ConstructL(const TDesC& aFileName,CArrayFixFlat<CStudent>* aArray)
{
   iFileName=aFileName;
   iStudentArray=aArray;
}
void CStuList::WriteToFileL(RFs aFs)
{
	RFileWriteStream OutStream; 
	User::LeaveIfError(OutStream.Replace(aFs,iFileName,EFileWrite));
	OutStream.PushL();
	ExternalizeL(OutStream);
//	OutStream<<*iStudentArray;
    OutStream.CommitL();
	OutStream.Pop();
	OutStream.Release();

}
void CStuList::ExternalizeL(RWriteStream& aStream)
{
	TInt32 numberOfelem;
	numberOfelem=iStudentArray->Count();
	aStream<<numberOfelem;
	for(TInt i=0;i<numberOfelem;i++)
	{
       (*iStudentArray)[i].ExternalizeL(aStream);
	}
}
void CStuList::ReadFromFileL(RFs aFs)
{
	RFileReadStream InStream;
	User::LeaveIfError(InStream.Open(aFs,iFileName,EFileRead));
	InStream.PushL();
	InternalizeL(InStream);
    
    InStream.Pop();
	InStream.Release();

}
void CStuList::InternalizeL(RReadStream& aStream)
{
    TInt32 numberOfelem;
	
	aStream>>numberOfelem;//寫入數(shù)組元素個數(shù)
	iStudentArray->Reset();//清空數(shù)組
	BrowseList(); //瀏覽
	console->Getch();
	iStudentArray=new CArrayFixFlat<CStudent>(numberOfelem);
	for(TInt i=0;i<numberOfelem;i++)
	{
        CStudent* stu=CStudent::NewLC(aStream);//從文件讀取
        iStudentArray->AppendL(*stu); //添加到數(shù)組中
		CleanupStack::Pop();
	}
}
//////////////////////////////////////////////////////////////////////////////
//
// Main function called by E32
//
//////////////////////////////////////////////////////////////////////////////
GLDEF_C TInt E32Main()
    {
	  // Get cleanup stack
	CTrapCleanup* cleanup=CTrapCleanup::New();

	 // Some more initialization, then do the example
    TRAPD(error,doExampleL());
	
	  
	  // callExampleL() should never leave.
	_LIT(KMsgPanicEpoc32ex,"EPOC32EX");
	__ASSERT_ALWAYS(!error,User::Panic(KMsgPanicEpoc32ex,error));

  // destroy the cleanup stack
	delete cleanup;
	
	  // return
	return 0;
    }
//////////////////////////////////////////////////////////////////////////////
//
//DoExample()
//
//////////////////////////////////////////////////////////////////////////////
void doExampleL()
{
  	_LIT(KPressAnyKey,"[Press any key...OK]");
	//Get Console;
	_LIT(KMsgExampleCode,"Symbian OS Example Code");
	console = Console::NewL(KMsgExampleCode,TSize(KConsFullScreen,KConsFullScreen));
		// Put console onto the cleanup stack.
	CleanupStack::PushL(console);

	int error;
	TRAP(error,callExampleL());
    if(error)
	{
		_LIT(KERROR,"error occured!\n");
		console->Printf(KERROR);
	}
	else{
      _LIT(KNOLEAVE,"No Leave!\n");
		console->Printf(KNOLEAVE);
	}
	console->Printf(KPressAnyKey);
	console->Getch();
		// Remove the console object from the cleanupstack
	  // and destroy it. 	
	CleanupStack::PopAndDestroy();
}

void callExampleL() 
    {
   RFs iFs;//文件會話
   User::LeaveIfError(iFs.Connect());//connect to file server
   
   _LIT(KNAME1,"hewei");
   _LIT(KNAME2,"yangzongde");
   _LIT(KNAME3,"zhangbing");
   _LIT(KNAME4,"liyong");
   TBuf<10> Name1(KNAME1);
   TBuf<10> Name2(KNAME2);
   TBuf<10> Name3(KNAME3);
   TBuf<10> Name4(KNAME4);
   

   CArrayFixFlat<CStudent> * array=new (ELeave) CArrayFixFlat<CStudent>(10);
   CStudent* stu1=CStudent::NewLC(Name1,1,80.0);
   CleanupStack::Pop(stu1);
   CStudent* stu2=CStudent::NewLC(Name2,2,70.7);  
   CleanupStack::Pop(stu2);
   CStudent* stu3=CStudent::NewLC(Name3,3,97.1);
   CleanupStack::Pop(stu3);
   CStudent* stu4=CStudent::NewLC(Name4,4,97.1);
   CleanupStack::Pop(stu4);
   //add three students to array using AppendL
   array->AppendL(*stu1);
   array->AppendL(*stu2);
   array->AppendL(*stu3);
 //  array->AppendL(*stu4);
   
   _LIT(KFileName,"c:\\stuList2.txt");
   TBuf<20> FileName(KFileName);
   CStuList* stuList=CStuList::NewLC(FileName,array);
   CleanupStack::Pop(stuList); 
   stuList->WriteToFileL(iFs);
   stuList->ReadFromFileL(iFs);
   stuList->BrowseList();
   //Close file server
   iFs.Close();

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成精品久久久久| 麻豆精品国产传媒mv男同| 亚洲国产精品久久人人爱 | 日韩限制级电影在线观看| 久久毛片高清国产| 首页欧美精品中文字幕| 欧美激情综合网| 久久久国产一区二区三区四区小说 | 国产精品中文欧美| 91视频www| 国产精品毛片大码女人| 蜜臀久久久久久久| 在线免费av一区| 中文字幕一区二区在线播放| 美女一区二区三区在线观看| 欧美亚洲一区二区在线观看| 国产精品乱子久久久久| 久久aⅴ国产欧美74aaa| 欧美高清dvd| 亚洲电影一区二区三区| 一本到一区二区三区| 国产精品久久久久久久久晋中 | 国产一区二区三区国产| 欧美日韩精品欧美日韩精品一| 中文字幕成人网| 国产专区欧美精品| 6080日韩午夜伦伦午夜伦| 蜜臀av一级做a爰片久久| 欧美日本在线一区| 亚洲sss视频在线视频| 欧洲一区在线电影| 亚洲综合区在线| 在线视频国内自拍亚洲视频| 洋洋av久久久久久久一区| 91论坛在线播放| 亚洲成a人v欧美综合天堂| 欧美日产国产精品| 免费成人在线观看| 在线播放亚洲一区| 天天综合色天天综合色h| 91精品免费观看| 亚洲成人av电影在线| 欧美一个色资源| 精品一区二区三区日韩| 日韩手机在线导航| 国产不卡在线视频| 中文乱码免费一区二区| 91麻豆成人久久精品二区三区| 国产精品久久免费看| 色又黄又爽网站www久久| 午夜精品免费在线| 精品国产91亚洲一区二区三区婷婷 | 亚洲丝袜精品丝袜在线| 在线欧美一区二区| 日本三级亚洲精品| 久久综合久久鬼色| 波多野结衣欧美| 五月天国产精品| 亚洲精品在线电影| 91免费观看在线| 秋霞午夜av一区二区三区| 精品1区2区在线观看| 91免费看`日韩一区二区| 日本不卡视频在线| 国产精品理论在线观看| 欧美精品vⅰdeose4hd| 国产福利一区在线观看| 亚洲国产精品一区二区久久恐怖片| 欧美一级夜夜爽| a亚洲天堂av| 蜜桃av一区二区三区| 综合网在线视频| 欧美va亚洲va在线观看蝴蝶网| 成人激情文学综合网| 日本sm残虐另类| 日韩美女啊v在线免费观看| 欧美一级一区二区| 一本到不卡精品视频在线观看 | 成人综合激情网| 天天色天天爱天天射综合| 中文字幕国产一区二区| 欧美一区二区免费视频| 色综合久久久久久久| 国产精品亚洲午夜一区二区三区 | 日韩免费视频一区| av不卡在线观看| 精品一区二区三区免费观看 | 欧美男女性生活在线直播观看| 国产精品88av| 裸体歌舞表演一区二区| 亚洲国产精品久久人人爱| 国产精品免费人成网站| 久久无码av三级| 欧美一区二区高清| 欧美日韩一区在线观看| 91免费国产视频网站| 成年人国产精品| 国产精品996| 韩国视频一区二区| 免费成人深夜小野草| 日本午夜精品一区二区三区电影| 伊人夜夜躁av伊人久久| 综合久久国产九一剧情麻豆| 欧美激情一区三区| 久久久不卡影院| 久久久精品欧美丰满| 久久久久久久久久久久电影| 日韩欧美色综合网站| 7777精品伊人久久久大香线蕉最新版| 色综合久久久久久久久久久| 91蜜桃免费观看视频| 色哟哟一区二区在线观看 | 亚洲蜜臀av乱码久久精品蜜桃| 久久久久久**毛片大全| www欧美成人18+| 久久久蜜桃精品| 久久久高清一区二区三区| 国产日产亚洲精品系列| 亚洲国产精品99久久久久久久久| 精品国产电影一区二区| 久久久精品日韩欧美| 国产精品久久久久久久久免费相片| 国产日韩欧美一区二区三区综合| 久久网站最新地址| 国产精品视频观看| 亚洲视频一区二区在线| 一区二区三区日韩欧美| 亚洲动漫第一页| 九九精品一区二区| 成人黄色在线网站| 色999日韩国产欧美一区二区| 欧美亚洲动漫制服丝袜| 3d动漫精品啪啪1区2区免费| 欧美大片在线观看| 国产精品视频yy9299一区| 亚洲欧美aⅴ...| 日本欧美大码aⅴ在线播放| 激情六月婷婷久久| av网站免费线看精品| 欧美三级日本三级少妇99| 欧美一区二区观看视频| 欧美国产日产图区| 亚洲成人av在线电影| 国产精品一品视频| 欧美色手机在线观看| 久久先锋影音av鲁色资源网| 自拍偷拍欧美精品| 免费久久99精品国产| 暴力调教一区二区三区| 欧美人牲a欧美精品| 久久女同性恋中文字幕| 一区二区三区久久久| 激情六月婷婷久久| 欧美亚洲另类激情小说| 国产人成一区二区三区影院| 亚洲一级二级三级| 成人一道本在线| 欧美福利一区二区| 1024亚洲合集| 精品一区二区国语对白| 色婷婷综合在线| 久久久精品影视| 日韩成人午夜精品| 91麻豆精品在线观看| 精品久久久久久最新网址| 亚洲午夜久久久| 大胆欧美人体老妇| 日韩欧美另类在线| 一区二区三区在线观看视频 | 日韩激情在线观看| 一本大道久久a久久综合婷婷| 2022国产精品视频| 日韩精品一区二区三区在线观看| jlzzjlzz欧美大全| 欧美久久久久中文字幕| 日韩欧美久久一区| 亚洲一级在线观看| 99久久精品免费看国产 | 7777精品伊人久久久大香线蕉经典版下载 | 精品va天堂亚洲国产| 亚洲一区在线免费观看| av资源网一区| 国产精品不卡一区| 日韩中文字幕区一区有砖一区 | 久久久国际精品| 免费精品视频在线| 欧美另类高清zo欧美| 一区二区三区在线免费播放 | 粉嫩蜜臀av国产精品网站| 欧美日本韩国一区| 亚洲福利电影网| 欧美日韩一级黄| 亚洲中国最大av网站| 色综合久久久久综合99| 亚洲人成在线观看一区二区| 成人综合在线观看| 国产精品日日摸夜夜摸av| 丁香五精品蜜臀久久久久99网站 | 欧美一级免费观看| 三级久久三级久久久|