边界
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;
}