WEB开发网
开发学院手机开发Symbian 开发 Symbian C++ 各种类型之间的转换 阅读

Symbian C++ 各种类型之间的转换

 2010-05-31 19:41:00 来源:WEB开发网   
核心提示:TPtr16 f=bufcs.Des();TPtr16 转换为 TBufTBuf<10> bufSecond;bufSecond.Copy(f);TBuf 转换为 TPtr16TBuf<10> bufSecond(_L("abc"));TPtr16 f;f.Copy(bufS

TPtr16 f=bufcs.Des();

TPtr16 转换为 TBuf

TBuf<10> bufSecond;

bufSecond.Copy(f);

TBuf 转换为 TPtr16

TBuf<10> bufSecond(_L("abc"));

TPtr16 f;

f.Copy(bufSecond);

TBuf 转换为 TInt

TInt aSecond;

TLex iLexS(bufSecond);

iLexS.Val(aSecond);

TInt 转换为 TBuf

TBuf<32> tbuf;

TInt i=200;

tbuf.Num(i);

memset主要应用是初始化某个内存空间。用来对一段内存空间全部设置为某个字符。

memcpy是用于COPY源空间的数据到目的空间中,用来做内存拷贝可以拿它拷贝任何数据类型的对象。

strcpy只能拷贝字符串了,它遇到''就结束拷贝。

以下是S60的数据类型转换(巨有用)

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() ;

这样就可以保护一下buf的数据了,尤其是如果这个buf是Socket的接收的数据是接收函数自己分配的时候。

Tags:Symbian 各种 类型

编辑录入:coldstar [复制链接] [打 印]
赞助商链接