Symbian开发中描述符的使用
2010-05-31 20:05:00 来源:WEB开发网// 改变HbufC的指向
_LIT ( KText1 , "Text1");
//使用赋值运算符来改变指向KText1的缓冲区
*Buf1 = KText1;
// 下面通过可修改的指针描述符来改变 数据
TPtr Pointer = Buf1- >Des();
Pointer.Delete( Pointer.Length() - 2, 2 );
// 所有能对 TBufC< n > 进行的操作在些都可用
//下面是一个这样的操作
_LIT ( KNew, "New:");
Pointer.Append( KNew );
TPtrC< n >
让我们先记住如何创建TPtr。
·用另一个TPtr。
·从TBufC< N >,或者通过成员函数Des()使用HbufC来创建。
·从一个指向内存的外部指针并指定最大长度。
·从一个指向内存的外部指针并指定数据及其最大长度。
LIT(KText, "Test Data");
TBufC< 10 > NBuf ( KText );
TPtr Pointer = NBuf.Des();
//第一种方法
TPtr Pointer2 ( Pointer );
// 现在我们看一下,怎么用TPtr 替换数据,这完全可以通过
//赋值运算符或拷贝函数来实现
_LIT(K1, "Text1");
_LIT(K2, "Text2");
Pointer2 = K1; // 数据是Text1
Pointer.Copy(K2); // 数据是Text2;
// 我们还可以改变数据的长度或把它设置为0
Pointer2.SetLength(2); // 只剩下 Te两个字符
Pointer2.Zero(); // 把长度设置为0
//可以使用delete 函数来更改数据,如前面的例中所示
1、const TDesC& 表示只读的数据和字符串。
2、TDes& 表示可以被修改的数据和字符串。
函数方法小结
1、描述符都有的方法:
TInt Locate(TChar aChar) const; 定位指定字符的位置;
TInt Compare(const TDesC16& aDes) const; 按字节比较两个描述符大小
TInt Match(const TDesC16& aDes) const 搜索指定描述符的位置,可使用? *等通配符
TInt Find(const TDesC16& aDes) const; 搜索指定描述符在当前描述符中第一次出现的位置
TPtrC16 Left(TInt aLength) const 提取描述符最左边的数据
TPtrC16 Right(TInt aLength) const 提取描述符最右边的数据
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››描述数字的神奇力量:数字在实际工作中的魔力
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
更多精彩
赞助商链接