symbian os:读取文本中汉字的实例

HBufC16* CPlainTextEditorContainer::ToUnicodeConvertL(TText8* aOrigin) 
 {
 CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC();   
 		//RFs fSession;   
 		//需要打开文件服务器  
 		//User::LeaveIfError(fSession.Connect());   
 		//判断传入的源字符串是否GBK\GB2123码  
 		if(converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierGbk,CCoeEnv::Static()->FsSession())!=CCnvCharacterSetConverter::EAvailable)   
 		{   
 		//如果不是GBK\GBK2123码就退出  
 			//fSessoin.Close();   
 		CleanupStack::Pop(converter);   
 		delete converter;
 		User::Leave(KErrNotSupported);   
 		}   
 		TText8* str = aOrigin;   
 		TInt state=CCnvCharacterSetConverter::KStateDefault;   
 		  
 		TPtrC8 source( str );
 		HBufC* iInfoText = HBufC::NewL( source.Length() );    
 		TPtr16 ptr = iInfoText->Des();   
 		  
 		if(CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode(ptr, source, state))  
 			                                                  
         User::Leave(KErrArgument);    
 		//转换完成并清除转换器    
        CleanupStack::PopAndDestroy();    
        return iInfoText;
 
 }

使用方法如下:


_LIT(path,"C:\\ebooks.txt");
	            			 
	            			 TBuf8<299> rText;
	            			 RFileReadTextFileSeekL(path,rText,op_num);
	            			 
	            			 TText8 string[300];
	            			 Mem::Copy(string,rText.Ptr(),rText.Size());
	            			 string[rText.Size()]='\0';
	            			 
	            			 

	            			 //RFileWriteTextFileL(, TDes8& aBuffer)
	            			 HBufC16* msg = ToUnicodeConvertL(string);
	            			// CAknInformationNote* InfoNote; 
	            		//InfoNote = new ( ELeave ) CAknInformationNote; 
	            		//InfoNote->ExecuteLD(*msg);
	            		SetEditorText(*msg);
	            		iEditor->DrawDeferred();
	            				            				delete msg;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值