CByteArray用法总结

  边界  
  GetSize()   返回数组大小  
  GetUpperBound()   返回数组上界  
  SetSize()   设设置数组长度     
   
  操作  
  FreeExtra()   释放已申请但没有使用的多余内容  
  RemoveAll()   清空数组     
    
  元素访问  
  GetAt()   返回数组中指定位置的值  
  SetAt()   设置数组中指定位置的值     
  ElementAt   返回数组中指定位置的临时引用  
  GetData   以指针形式返回数组  
   
  增长数组  
  SetAtGrow   设置数组的增长幅度    
  Add   向数组添加元素  
  Append   将其它数组添加到本数组  
  Copy   将其它数组复制到本数组       

插入删除   
InsertAt   向数组插入元素或其它数组   
RemoveAt   从数组中删除元素   
    
 操作符   
 operator   []   支持以数组方式访问     
  CByteArray   ba;  
  ba.Add(66);  
  ba.Add(65);  
  ba.InsertAt(1,69);     
  ba.RemoveAt(2);  
  BYTE   i   =   ba[1];  
  ba.RemoveAll();  
unsigned char p[5] = {0x99, 0x00, 0x00, 0x00, 0x77};

m_Array.RemoveAll(); //CByteArray类型

m_Array.SetSize(5);

for(int i=0; i<5; i++)

 m_Array.SetAt(i, p[i]);

 CString与CByteArray   互转

 CString str="我的世界 abcdefg";

 CByteArray ba;

 int nSize = str.GetLength() ;

 int ss=sizeof(CHAR);

nSize = nSize* ss;

 ba.SetSize(nSize);

 lstrcpy((LPTSTR)ba.GetData(),str);

 CByteArray ba1;

 int nSize1 = str.GetLength() * sizeof(CHAR);ba1.SetSize(nSize1+1);

 memcpy( ba1.GetData(), str.GetBuffer(nSize1), nSize1 );

 str.ReleaseBuffer();

//再将CByteArray转化为aCString:

nSize=ba.GetSize();

 CString str2('x',nSize);

 for(int i=0;i<nSize;i++)

  str2.SetAt(i,ba.GetAt(i));

CString str3;

 char ch;

 for(int i=0;i<nSize;i++)

{

  ch=ba[i];

  str3+=ch;

 }

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值