如果给BYTE frame[50]赋不定长度的内容,怎么处理内容后面的空白区? 我想 给 BYTE frame[50]赋不定长度的值,有时给前27个元素赋值,有时给前40个赋值,那么怎么处理赋值后面的,还有怎么得知赋值的空间长度是多少? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先初始化,BYTE frame[50] = {0};搞个索引来计数,不就知道了赋值了多少个元素了int nIndex = 0;for(...){ frame[nIndex++] = ...;} 你应该写一个类来处理,因为这个数组有很多属性啊。class CByteArray{private:int nTotalSize; //记录空间大小int nUserSize; //记录空间使用的大小public:void setSize(int i);int GetByteSize() { return nUserSize;} //获取使用过的大小int WriteData();int ReadData();private:void GetfreeSize(); { return nTotalSize - nUserSize;}} 先定义你的BYTE frame[50]全部为0,然后根据传入的数组长度MEMCPY就可以了,当然,你自己要判断是否超出50的范围 //顺序赋值,index 从第几位开始赋值, 你把返回的值加起来就行//例如替换frame中的 1-20个,index=1int ReNum(BYTE *pframe,BYTE *psrc,int index){ int i,num=strlen(psrc),count =min(50,index+num); for( i=index;i<count;i++){ pframe[i]=psrc[i]; } return num;} 如何用creat 建立 static text 公司要倒了,猴孙们要散了,我来散分 如何在建立文件时就分配好指定大小的磁盘空间? 求一个高效的排列组合算法~ 键盘hook? 怎样判断文件读到尾?? 为什么没有人回答我的问题-为什么能ping通自己设的ip,却不能ping通网关??? 关于const的一个小问题 关于MultiByteToWideChar的汉字问题 怎样在文档中添加控件? 关于语音库 SmartRead.dll 的奇怪问题 关于程序自动运行的问题
搞个索引来计数,不就知道了赋值了多少个元素了
int nIndex = 0;for(...)
{
frame[nIndex++] = ...;
}
{
private:
int nTotalSize; //记录空间大小
int nUserSize; //记录空间使用的大小
public:
void setSize(int i);
int GetByteSize() { return nUserSize;} //获取使用过的大小
int WriteData();
int ReadData();private:
void GetfreeSize(); { return nTotalSize - nUserSize;}
}
//例如替换frame中的 1-20个,index=1
int ReNum(BYTE *pframe,BYTE *psrc,int index)
{
int i,num=strlen(psrc),count =min(50,index+num);
for( i=index;i<count;i++){
pframe[i]=psrc[i];
}
return num;
}