首页 > 用C或python2.6如何切掉文件头部某些字节? (要求类似ftruncate那样无缓存操作)

用C或python2.6如何切掉文件头部某些字节? (要求类似ftruncate那样无缓存操作)

貌似ftruncate只能从文件头部开始截取,删除尾部的字节.
我现在需要在文件开头削掉部分字节, 但是又不想用那种写个缓存/临时文件的方法, 因为是在手机上使用,内存和硬盘都很紧张, 临时文件的方法效率也太低, 要不然一个tail命令也够了. 文件足够大, 只要删除很少字节(字节数不固定)的头部, 高效的方法应该是无视文件大小能瞬间完成操作那种.
或者有没有办法在磁盘上把文件的起始位置指定为我需要的位置(跳过部分字节), 比如要切掉一个文件的前20个字节, 磁盘记录文件的时候应该会记录文件的第一个字节的位置吧, 如果把这个记录改成第20个字节的位置应该就是最高效的文件头切割方式了.
要求使用python2.6, 如果python不好使, c也可以, 但是需要源码能被gcc-4.4.1编译, 手机上的编译器只支持到这个版本...


文件在磁盘上是以数据块的形式存储的,所以索引表存的是数据块的编号而不是字节地址,文件头必须和数据块头对齐,文件尾则不必,所以删除尾部是可行的,删除头部不行,除非有文件系统的数据块的大小为1byte,不过应该没有.

【热门文章】
【热门文章】