擅长:python、mysql、java
<p>我传递给crc_string函数的char数组包含'\0'个字符。crc_字符串在数组中迭代,直到找到一个'\0',在本例中不应该出现这种情况,因为我使用char数组作为通过串行连接发送的字节流。在</p>
<p>我更改了crc_string函数,以数组大小作为参数,并使用该值遍历数组。这就解决了这个问题。在</p>
<p>这是新函数</p>
<pre><code>unsigned long crc_string(char *s, size_t arraySize)
{
unsigned long crc = ~0L;
for (int i=0; i < arraySize; i++) {
crc = crc_update(crc, s[i]);
}
crc = ~crc;
return crc;
}
</code></pre>