这里我正在为文件验证文件实现CRC 16。
这里我在文件末尾追加2个字节的CRC。当在目标设备上接收文件时,我必须在没有最后两个字节的情况下计算该文件的CRC
这是我在文件末尾附加CRC后的数据。
test123
wU
现在,当我再次计算目标设备上的CRC时,我想忽略最后两个字节。
这里我有一个常见的功能,我在读取模式下打开文件并计算CRC。我想在这个时候使用相同的功能。
我有一个解决方案使另一个功能与前一个相同,然后转到filesize-2
。但是dnt想要复制两次功能。我想删除最后两个字节。
所以任何机构都有关于此的建议或解决方案吗?
答案 0 :(得分:3)
另外,你需要帮助截断文件中的两个字节吗?
目标上有哪种API。
在POSIX上,您可以open
该文件,然后off_t pos = lseek(fd, 0, SEEK_END)
寻找结尾,然后返回该位置。如果(pos == (off_t) -1)
则呼叫失败。如果通话成功,您可以ftruncate(fd, pos - 2)
(提供pos >= 2
)。
答案 1 :(得分:0)
让你的函数取一个参数来忽略最后n个字节。传入0表示正常使用2表示该情况。