读书人

定义个BYTE数组 BYTE A[100]但实际中

发布时间: 2013-09-06 10:17:17 作者: rapoo

定义个BYTE数组 BYTE A[100],但实际中不一定用完,我怎么能获得它的有效长度?
BYTE a[100];

a[0]=0x00; a[1]=0x02; .... //这里的数据长度是不定的,总之是在100以内

我怎么知道它的实际长度是多少呢?
[解决办法]
TBytes a;
a.Length = 100;

a[0]=0x00; a[1]=0x02; ... a[n]=x; //

a.Length = n; // 再把他设成实际长度


求长度:int Len = a.Length;

[解决办法]
你用c++的话,可以考虑VECTOR
[解决办法]
就算没用完它的长度还是100,你想问的是有效数据有多长吗,那要去问写入数据的人.
[解决办法]
可以把全部数组初始化为一个特殊的数x,这个数x最好是整个数组的成员都不会有的值,然后给数组赋值,在判断数组成员个数的时候,做个判断试试:
for(char i=0;i<100;i++)
{
if(a[i]!=x)
{
Length++;
}
}

读书人网 >C++ Builder

热点推荐