ReadFile(hComm_, pBuffer, dwLength, &dwReadResult, NULL)
现象:当发送的数据为16进制时,使用readfile读取数据发现数据缺少不完整。
发送的数据为01 10 75 61 10 03 06 00 66 00 31 00 50 56 0D
readfile会在00处截断,编译器将其视为\0即字符串的结束
解决方法:虽然通过监视发现数据被截断,但是实际上该数据是完整的被放入到接收缓存区的(pBuffer)。使用memcpy()内存拷贝函数
char ch[255];
memcpy(ch,pBuffer,dwReadResult).ch内就会显示处完整的数据。
通讯也是接触不久,在此记录一下。
文章讲述了在使用ReadFile函数读取16进制数据时遇到的截断问题,发现数据实际上完整接收在接收缓区,通过memcpy函数实现完整数据复制。作者分享了这个在通讯领域的新鲜经验。
4816

被折叠的 条评论
为什么被折叠?



