类型 描述
TInt8, TUint8 8位 整数
TInt16, TUint16 16位 整数
TInt32, TUint32 32位 整数
TInt, TUint (32位)整数
TReal32, TReal64 实数
TText8, TText16 字符, 相当于 unsigned char, unsigned short int
TBool 布尔
TAny 相当于void
1.串转换成数字
TBuf16<20> buf(_L( "123" ) );
TLex lex( buf );
TInt iNum;
lex.Val( iNum );
2.数字转换成串
TBuf16<20> buf;
TInt iNum = 20;
buf.Format( _L( "%d" ) , iNum );
3.将symbian串转换成char串
char* p = NULL;
TBuf8<20> buf( _L( "aaaaa" ) );
p = (char *)buf.Ptr();
4.UTF-8转换成UNICODE
CnvUtfConverter::ConvertToUnicodeFromUtf8( iBuf16 , iBuf8 );
5.UNICODE转换成UTF-8
CnvUtfConverter::ConvertFromUnicodeToUtf8( iBuf8 , iBuf16 );
6.将char串转换成symbian串
char* cc = "aaaa";
TPtrC8 a;
a.Set( (const TUint8*)cc , strlen(cc) );
再加一点:
TDesC8 & buf ;
TUint8 * pdata ;
pdata = buf.Ptr() ;
然后,这个pdata就可以当成unsigned char *用了,这在网络通讯的时候很重要。
如果,怕pdata破坏的话,可以
TBuf8<1024> tmp_buf ;
tmp_buf.Copy(buf) ;
pdata = tmp_buf.Ptr() ;
Symbian OS的类一共有6种:
种类 例子 描述
T classes TDesC, TPoint 这个类可以向基本类型一样使用,因为他们通常很小,而且不使用heap所以也没有析构函数
C classes CConsoleBase, CActive 这个类是Symbian使用最多的类,C代表他们从CBase类继承而来, 他们必须有析构函数因为他们的对象创建在heap中
R classes RFile, RTimer R代表资源(Resource),它们只是一个系统资源的句柄,他们本身被创建在Stack上, 但是他们所使用的资源被创建在heap上,使用完毕需要Close()
M classes MEikMenuObserver 这个类是一个空的接口,使用的时候需要从它继承
static classes User, Math 这个类只有静态函数, 一般都是库函数
Structs SEikControlInfo c - struct
变量命名:
种类 例子 描述
枚举 EMonday,ETuesday E代表枚举
定量 KMaxFileName K代表定量
成员变量 iDevice, iX i代表成员变量
参数 aDevice, aX a代表参数
局部变量 device, x 局部变量没有固定的规范