首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件中删除最后两个字节或忽略文件的最后两个字节

从文件中删除最后两个字节或忽略文件的最后两个字节
EN

Stack Overflow用户
提问于 2012-03-08 11:10:51
回答 2查看 504关注 0票数 0

在这里,我正在为文件实现CRC16,用于文件验证。

在这里,我在文件末尾添加了2个字节的CRC。当文件将在目标设备上接收时,我必须计算此文件的CRC,而不计算最后两个字节

这是我在文件末尾附加CRC后的数据。

代码语言:javascript
复制
test123
wU

现在,当我再次计算目标设备上的CRC时,我想忽略最后两个字节。这里我有一个常用的函数,我在读模式下打开文件并计算CRC。我想这次使用相同的函数。我有一个解决方案,使另一个函数与前一个相同,然后转到filesize-2。但是我不想重复两次函数。我想删除最后两个字节。

那么有没有人对此有什么建议或解决方案呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-08 11:13:58

让你的函数接受一个参数来忽略最后n个字节。正常情况下传入0,这种情况下使用2。

票数 0
EN

Stack Overflow用户

发布于 2012-03-08 11:25:59

此外,您是否需要帮助截断文件中的两个字节?

目标上是什么类型的API。

在POSIX上,您可以查找文件,然后使用off_t pos = lseek(fd, 0, SEEK_END)查找到末尾,这将返回位置。如果为(pos == (off_t) -1),则调用失败。如果调用成功,您可以只使用ftruncate(fd, pos - 2) (提供该pos >= 2)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9612396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档