科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件使用Symbian OS字符串描述符编程

使用Symbian OS字符串描述符编程

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

当我刚开始学习Symbian时,我遇到的第一件事情就是Symbian OS字符串的处理和使用问题。要学习Symbian字符串的使用,必须费一定脑筋才行。但是一旦你掌握了其中的要领,它就变得容易多了。

作者:朱先忠编译 来源:天极网 2007年11月21日

关键字: Symbian OS 字符串 描述符 编程

  • 评论
  • 分享微博
  • 分享邮件
1. 简介

  当我刚开始学习Symbian时,我遇到的第一件事情就是Symbian OS字符串的处理和使用问题。要学习Symbian字符串的使用,必须费一定脑筋才行。但是一旦你掌握了其中的要领,它就变得容易多了。

  因此,下面我将解释我是怎样学习基本的Symbian OS字符串处理并对之加以记忆的。

  注意,理解本文的前提是对Symbian操作系统的工作机理有一定了解。

  2. 背景

  你要做的第一件事情是记住字符串描述符层次结构图。这是很重要的,因为以后所有你要使用的五个描述符都派生于某些类,你必须了解它们分别是从哪些类派生的,以便确定应该使用哪些特别描述符及其使用场所。本文中我不准备解释什么是缓冲描述符及堆描述符的含义,以及可修改的描述符和不可修改的描述符是什么含义。但是,我相信你必须对上面的术语有足够的了解才行。Symbian描述符层次结构看起来相当绝妙。你可以参考下图,该图来源于newlc。

  3. TPtrC<n>用法

  其字面含义是"一个指向不可被操作的数据的指针"。关于TPtrC<n>,首先要记住,它不包含对自己的一些操作函数,而只含有构造器和设置方法。另外,既然它派生于TDesC,它就包含了TDesC的所有功能。

  指针指向数据的方式有下面两种:

  ·先创建一个空的TPtrC<N>,然后用Set(...)函数把它指向一些数据。

  ·通过使用任何一个重载的构造函数,在构造过程中传递数据。

  让我们通过下面几个例子来看一下上面的描述:

  实例1:-从TBuf和TbufC中取得TPtrC:

LIT(KText , "Test Code");
TBufC<10> Buf ( KText ); OR(/) TBuf<10> Buf ( KText );
// 使用构造器创建TPtr
TPtrC Ptr (Buf);
//使用成员函数创建TPtr
TPtrC Ptr1;
Ptr1.Set(Buf);

  实例2:-从TText*中取得TPtrC:

  下面的实例使用了TText16:

TText * text = _S("Hello World\n");
TPtrC ptr(text);
// 或
TPtrC Ptr1;
Ptr1.Set(text);
//要只存储Ttext的一部分,我们可以使用下面的语句
//这个描述符指针将只存储Hello
TPtrC ptr4(text,5);

  实例3:-从另外一个TPtrC取得TPtrC:

  你可以容易地把一个TPtrC赋值给另一个TPtrC。

TText * text = _S("Hello World\n");
TPtrC ptr(text);
//从另外一个TPtrC取得TPtrC
TPtrC p1(ptr);
//或
TPtrC p2;
p2.Set(ptr);

  实例4:-从TPtrC中取得TText *:

  我们可以通过Ptr()成员使用来从TPtrC中取得TText *。

//设置TPtrC
_LIT(KText,"Test Code");
TBufC<10> Buf ( KText );
TPtrC Ptr1 (Buf);
//取得TText*
TText* Text1 = (TText *)Ptr1.Ptr();
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章