不相关的数组总会造成覆盖(CFile对文件进行操作)
我的程序是在自己的硬件和协议上进行文件传输。用到了CFile对文件进行操作,然后调用API函数进一步处理文件。首先定义:
程序代码:
uint32_t seFileLen;//用于存储发送文件的长度 uint32_t reFileLen;//用于存储接收文件的长度 uint32_t slen[1];//用于存储发送文件的长度 uint32_t rlen[1];//用于存储接收文件的长度 uint32_t abReadIOBuffer[128];//用于存储发送文件 uint32_t abWriteIOBuffer[128];//用于存储接收文件
先通过Cfile把文件以二进制形式读取进来,得到文件存储到abWriteIOBuffer,文件长度存储到seFileLen;然后把seFileLen赋给slen[0],,调用API发送文件的长度,对方接受并存储在rlen[0],并把rlen[0]赋给reFileLen。
之后发送文件利用API函数把abReadIOBuffer发送给对方,对方也利用API函数接受并存储到abWriteIOBuffer。
现在有一个问题,我现在发送的是一个TXT文档,文档里面的内容首字母是h,这个txt文档的大小seFileLen=51;
可是我接收大的文件大小没问题但是文档内容就变了第一个字母就比那成了3,ascii码51对应哪个的字符是‘3’;而且我单步调试也能看到abWriteIOBuffer内的内容最开始的内容发生了变化
这种问题是怎么造成的呀?