Fortran流文件-读写二进制任意位置 [我来说两句]

最新 最热

评论列表(评论 5)以下网友评论只代表网友个人观点,不代表本站观点。

2022-04-25 14:26:40 sunchengbo2007(sunchengbo2007)
上面代码,type版,在win10-x64用gfortran-11.2.0编译,出错: gfortran -Wall -o "streamfile2" "streamfile2.f90" streamfile2.f90:5:28: 5 | character(len=4) :: flag | 1 Warning: Component 'flag' in derived type 'grad_head' at (1) may not be C interoperable, even though derived type 'grad_head' is BIND(C) [-Wc-binding-type] streamfile2.f90:5:28: 5 | character(len=4) :: flag ! | 1 Error: Component 'flag' of BIND(C) type at (1) must have length one 编译失败。 作如下修改: --- character(len=4) :: flag +++ character(kind=c_char) :: flag(1:4) 再编译,通过。
回复 支持0
2016-03-14 08:47:02 vvt(vvt)
JoeLovesFortran 于 2016-03-11 23:02:32发布
如何读取三个字节长度的整型?或者如何定义一个3字节长度的整型?
我看其它语言(IDL语言,interactive data language)是通过先读取4个字节长度的整型,然后通过与16进制整数‘FFFFFF'按位和(IAND)来得到的。我倒是按照IDL语言,用Fortran使用位操作内置函数IAND做了,但是没有得到正确的整型数据结果。
character(len=3) 就是3字节长度的。然后通过 transfer 转换。近几天我会写一个教程出来。
回复 支持0
2016-03-11 23:02:32 JoeLovesFortran(JoeLovesFortran)
如何读取三个字节长度的整型?或者如何定义一个3字节长度的整型? 我看其它语言(IDL语言,interactive data language)是通过先读取4个字节长度的整型,然后通过与16进制整数‘FFFFFF'按位和(IAND)来得到的。我倒是按照IDL语言,用Fortran使用位操作内置函数IAND做了,但是没有得到正确的整型数据结果。
回复 支持2
2014-11-30 00:15:21 vvt(vvt)
taotao0718 于 2014-11-29 20:22:44发布
请问,用stream读数,什么情况下需要先跳过几个字节,防止读出来的数据是错位的呢
除非数据里有4字节空白或你不需要的字节,否则无需跳过。
回复 支持1
2014-11-29 20:22:44 taotao0718(taotao0718)
请问,用stream读数,什么情况下需要先跳过几个字节,防止读出来的数据是错位的呢
回复 支持0
对该文发表评论
我的态度:

    登录 | 注册 需要登陆才可发布评论
请您注意:
  • 自觉遵守:爱国、守法、自律、真实、文明的原则
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
  • 严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 您在本站评论发表的作品,本站有权在网站内保留、转载、引用或者删除
  • 参与本评论即表明您已经阅读并接受上述条款