首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改大型Fortran二进制文件的头部,而不处理整个正文

问更改大型Fortran二进制文件的头部,而不处理整个正文
EN

Stack Overflow用户
提问于 2016-09-01 06:32:22
回答 1查看 53关注 0票数 0

我有一个从Fortran 90程序生成的大型二进制文件(~ GB大小)。我想修改文件头部的一些东西。该文件的结构非常复杂,包含许多不同的变量,我不想在此赘述。在读取和重写头部后,是否可以在不知道其详细结构的情况下“复制并粘贴”该文件的提醒?或者更好的是,我是否可以避免完全重写整个文件,而只对原始文件进行更改?(不确定这是否重要,但报头的长度将会更改。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-01 06:53:40

由于您要更改标题的长度,因此我认为您必须编写一个新的、修改过的文件。通过使用流访问打开文件并只读取字节(如果文件是四个字节的倍数,则可能是四个字节的字),直到到达EOF并将它们复制到新文件中,可以避免“理解”标头后面的记录。但是,如果文件最初是作为顺序访问创建的,并且您希望将来以这种方式访问它,则必须处理标题记录的记录长度信息,包括更改值以与更改的记录长度保持一致。此记录长度信息通常是每个记录开头和结尾的四个字节的整数,但它取决于编译器。

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

https://stackoverflow.com/questions/39260019

复制
相关文章

相似问题

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