日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]在symbian系統(tǒng)中并沒有使用我們熟知的類型和函數(shù)來處理字符串和二進制緩沖區(qū),這對于初學(xué)者來說可能有點陌生。大概很多編程者都在摸索TBuf, TBufC, HBufC的過程中花費了不

在symbian系統(tǒng)中并沒有使用我們熟知的類型和函數(shù)來處理字符串和二進制緩沖區(qū),這對于初學(xué)者來說可能有點陌生。大概很多編程者都在摸索TBuf, TBufC, HBufC的過程中花費了不少時間……:)

symbian中的描述符(descriptors)主要有以下特性:

1、以同樣的方式對待字符串和二進制數(shù)據(jù)。

2、數(shù)據(jù)可以存放在內(nèi)存的任何區(qū)域上——ROM或RAM,在堆或棧上都可以。

3、描述符使用指針和長度信息來描述它包含的數(shù)據(jù),有些描述符還包括最大長度的信息。

下面這個圖示意了描述符相關(guān)類的繼承關(guān)系:

所有的描述符都是從抽象類TDesC中派生的,他們可以分為三個大類:

1、緩沖區(qū)描述符——數(shù)據(jù)做為描述符對象的組成部分而存在,描述符對象存放在程序的堆棧中:TBuf和TBufC,

2、堆描述符——數(shù)據(jù)做為描述符對象的組成部分而存在,描述符對象存放在堆中:HBufC,

3、指針描述符——描述符對象和它所表示的實際數(shù)據(jù)是分開存放的:TPtr和TPtrC.

如果對照C/C++語法來看:

1、TPtrC可以被看作是const char*的使用

2、TBufC可以被看作是char[]的使用

其他類沒有相應(yīng)對照語句。

下面顯示了各個類中數(shù)據(jù)是如何組織的:

TDes和TDesC是抽象類,因此你不可能實例化它們。它們的主要用途是做為函數(shù)的參數(shù)來描述字符串和二進制數(shù)據(jù)。在這樣的函數(shù)中,你應(yīng)該按如下規(guī)則使用:

1、const TDesC& 表示只讀的數(shù)據(jù)和字符串。

2、TDes& 表示可以被修改的數(shù)據(jù)和字符串。

所有這些描述符都可以指定數(shù)據(jù)尺度:TDes8、TDes16、TDesC8、TDesC16、TBuf8、TBuf16等

這里8表示描述符處理的數(shù)據(jù)是8bit的,而16表示是16bit數(shù)據(jù)。一般來說,你只要使用通用形式(TDes, TDesC,...)來表示文本數(shù)據(jù)而使用8bit版本(TDesC8等)來表示二進制的內(nèi)容。

Litterals

---------------

字符串常量可以使用_L()或_LIT()宏來定義。

_L()可以生成一個指向字符值的地址(TPtrC),它經(jīng)常被用來傳遞字符串到函數(shù)中:

NEikonEnvironment::MessageBox(_L("Error: init file not found!"));

_LIT()可以生成個常量名,以便以后重復(fù)使用:

_LIT(KMyFile, "c:\System\Apps\MyApp\MyFile.jpg");

_LIT()宏的結(jié)果(就是上面的KMyFile)實際上是個文字描述符(literal descriptor)TLitC,它可以在任何使用TDesC&的地方使用。

用法

---------

TDesC中最常用的函數(shù)如下:

1、Ptr(),用來獲得描述符數(shù)據(jù)中的指針。

2、Length(),用來獲得描述符數(shù)據(jù)中的字符數(shù)。

3、Size(),用來獲得描述符數(shù)據(jù)中的字節(jié)數(shù)目。

4、Cpmpare()或操作符==、!=、>=和<=等專為比較描述符數(shù)據(jù)用的。

5、操作符[],可以被當(dāng)作c/c++中一樣,用來獲得描述符字符串中的單個字符。

下面幾個函數(shù)有其特殊性:

1、Append()和Num()有很多重載形式,具體可以看SDK

2、Compare()有2個變體:CompareC()和CompareF(),以及Copy(),Find(),Locate()和Match(),這些函數(shù)都有C/F的后綴形式,C代表Collated而F代表Folded.

Collating和Folding

------------------------

Folding是個比較格式化文本的簡單方法,主要用在對比較不是太要求精確的場合。

Collation是個更好的也更有效的比較字符串的方法,可以生成類似字典的順序。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

隨著Symbian OS逐漸成為未來手機的產(chǎn)業(yè)標(biāo)準(zhǔn),基于Symbian OS的智能手機軟件在我國必將有所普及,軟件的本地化成為我們迫切需要解決的問題之一。本文以Symbian OS應(yīng)用開發(fā)平臺Series60為例,首先對...

關(guān)鍵字: os Symbian 框架 漢化 series60開發(fā)平臺

Symbian操作系統(tǒng)是現(xiàn)今手機領(lǐng)域中應(yīng)用范圍最廣的操作系統(tǒng),并且擁有相當(dāng)多針對不同用戶的界面,也就是常說的Series。

關(guān)鍵字: Symbian 商務(wù)辦公 手機操作系統(tǒng)

HMD首席產(chǎn)品官Juho Sarvikas已經(jīng)確認(rèn),HMD將在MWC 2018期間有“大動作”,而一個名為諾基亞9的新消息在今天被曝光。消息稱,HMD Global正研發(fā)一款諾基亞Android

關(guān)鍵字: Symbian 攝像頭 旗艦機 諾基亞

諾基亞7以及諾基亞6(2018)這兩款中端智能手機幾個月前便在中國上市了,在那時,這兩款手機還僅僅為中國特供手機。不過,現(xiàn)在事情已經(jīng)發(fā)生了變化。近期,HMD旗下的兩款手機現(xiàn)

關(guān)鍵字: Symbian 美國 諾基亞 fcc:7

智能手機雖然沒有很長的歷史,但是在這僅僅十多年的歲月中卻是競爭非常激烈,堪比科技界的“世界大戰(zhàn)”,最開始的時候大家拼硬件、拼誰的跑分高,之后拼的是外觀

關(guān)鍵字: Symbian 手機系統(tǒng) 沒落 輝煌

一、symbian簡介Symbian是一個實時性、多任務(wù)的純32位操作系統(tǒng),具有功耗低、內(nèi)存占用少等特點,非常適合手機等移動設(shè)備使用,經(jīng)過不斷完善,可以支持GPRS、藍芽、SyncML、

關(guān)鍵字: Symbian

這學(xué)期專業(yè)實踐要做一個關(guān)于Symbian S60的手機軟件,所以我選擇了CarbideV1.2 OEM和S60 SDK 3rd FP1來作為自己的開發(fā)環(huán)境,具體的環(huán)境搭配如下:1.首先安裝Carbide,選擇OE

關(guān)鍵字: Symbian

一、基本數(shù)據(jù)類型這個比較簡單,都在e32def.h中寫著呢。也就是以下這幾個類型要注意一下,以后照著寫罷了,含義也很明了,不用多說。typedef void TAny;typedef signed char

關(guān)鍵字: Symbian

Symbian 概述Symbian OS(中文譯音“塞班系統(tǒng)”)由諾基亞、索尼愛立信、摩托羅拉、西門子等幾家大型移動通訊設(shè)備商共同出資組建的一個合資公司,專門研發(fā)手機操作

關(guān)鍵字: Symbian
關(guān)閉