数组分割成小数组并组合的问题
我现在把文件以二进制形式打开文件存到buffer1中,然后用于文件传输,由于通信协议的API函数限制每次只能传输244bytes,所以要把每次只能把244bytes赋给buffer2后循环调用API函数传输数据,我不太清楚程序怎么实现把一个较大的buffer依次传递数据给另一个buffer程序代码:
uint32_t Buffer1[ ] ; uint32_t Buffer2[244]; //将Buffer1中的数据依次赋给Buffer2 //判断数据的大小与244的关系,以及次数cishu、余数yushu if (len<=244) { cishu=1; } else { yushu=len%244; if (yushu=0) { cishu=len /244; }else { cishu=len /244+1; } } //把次数先发送给对方 Buffer2[0]=cishu;//调用API函数传送244bytes以内的数据信息 re = IOWrite( hChannel,0, 0,sizeof(Buffer2),Buffer2, IO_WAIT_TIMEOUT); //然后再依次发送数据 if (re==NO_ERROR) { /************************************************************************** 此处循环把buffer1中244bytes依次赋给buffer2 **************************************************************************/ while (cishu) { Buffer2=Buffer1;//传输第一个244bytes IOWrite( hChannel,0, 0,sizeof(Buffer2) ,Buffer2, IO_WAIT_TIMEOUT); cishu--; Buffer1=Buffer1+244;//指向下一个244bytes } }
对于“循环把buffer1中244bytes依次赋给buffer2
”程序不清楚怎么弄,以及在收到后又怎样把每个244bytes重新组合成完整的buffer?