zoukankan      html  css  js  c++  java
  • HBufC 的 zero 方法测试

    HBufC 的 zero 方法测试
    今天看到 HBufC 的Zero 方法了,帮助中说是

    Zero()

    IMPORT_C void Zero();

    Description

    Sets the length of the data to zero.

    把 Lenght 设为  0 了,那内容还存不存在,下面是试验代码

    HBufC* aTest = HBufC::NewL(12);
     CleanupStack::PushL(aTest);
     _LIT(KTest,"qijianzhou");
     TPtr ptr = aTest->Des();
     TBuf<12> aBuf(KTest);
     ptr.Append(aBuf);
     _LIT(KFormat1,"length=%d\nsize=%d\ncontent=%S");
     console->Printf(KFormat1,aTest->Length(),aTest->Size(),&ptr);
     console->Getch();
     ptr.Zero();
        console->Printf(KFormat1,aTest->Length(),aTest->Size(),&ptr);
     CleanupStack::PopAndDestroy();

    经过试验,发现 内容给清空,同时 length 为 0

    再测试一下刚创建后的 length 及 size
    _LIT(KFormat1,"length=%d\nsize=%d\ncontent=%S");
     HBufC* aTest = HBufC::NewL(12);
     
     CleanupStack::PushL(aTest);
     _LIT(KTest,"qijianzhou");
     TPtr ptr = aTest->Des();
     TBuf<12> aBuf(KTest);
     // 测试刚创建完后长度及大小
     console->Printf(KFormat1,aTest->Length(),aTest->Size(),&ptr);
     console->Getch();
     ptr.Append(aBuf);
     
     console->Printf(KFormat1,aTest->Length(),aTest->Size(),&ptr);
     console->Getch();
     ptr.Zero();
        console->Printf(KFormat1,aTest->Length(),aTest->Size(),&ptr);
     CleanupStack::PopAndDestroy();

    经测试,刚创建后的 Length 及 Size 都为 0,内容为空

    如果对于 HBufC 及 TBuf ,赋值时,内容长度大于指定的长度,则程序会出现异常



    安平2009@原创
    qi_jianzhou@126.com

  • 相关阅读:
    C语言二维数组
    Foxyproxy 火狐代理插件
    Midas Civil的钢束生成器
    foobar2000 – ELPlaylist
    Foobar2000-CUI 小结
    Foobar2000–panel stack splitter
    Foobar2000 使用说明
    foobar2000-new
    书匠
    图片转文字 ocr 汉王
  • 原文地址:https://www.cnblogs.com/zziss/p/1648718.html
Copyright © 2011-2022 走看看