Fortran流文件-读写二进制任意位置 [我来说两句]
评论列表(评论 5)以下网友评论只代表网友个人观点,不代表本站观点。
2016-03-11 23:02:32 JoeLovesFortran(JoeLovesFortran)
如何读取三个字节长度的整型?或者如何定义一个3字节长度的整型?
我看其它语言(IDL语言,interactive data language)是通过先读取4个字节长度的整型,然后通过与16进制整数‘FFFFFF'按位和(IAND)来得到的。我倒是按照IDL语言,用Fortran使用位操作内置函数IAND做了,但是没有得到正确的整型数据结果。
2014-11-30 00:15:21 vvt(vvt)
taotao0718 于 2014-11-29 20:22:44发布
除非数据里有4字节空白或你不需要的字节,否则无需跳过。
请问,用stream读数,什么情况下需要先跳过几个字节,防止读出来的数据是错位的呢
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)
再编译,通过。
2016-03-14 08:47:02 vvt(vvt)
JoeLovesFortran 于 2016-03-11 23:02:32发布
character(len=3) 就是3字节长度的。然后通过 transfer 转换。近几天我会写一个教程出来。
如何读取三个字节长度的整型?或者如何定义一个3字节长度的整型? 我看其它语言(IDL语言,interactive data language)是通过先读取4个字节长度的整型,然后通过与16进制整数‘FFFFFF'按位和(IAND)来得到的。我倒是按照IDL语言,用Fortran使用位操作内置函数IAND做了,但是没有得到正确的整型数据结果。
2014-11-29 20:22:44 taotao0718(taotao0718)
评论排行
- ·Simply Fortran 编译器(36)
- ·《FORTRAN常用算法程序集》...(15)
- ·塑性力学有限元-理论与应用...(15)
- ·FAQ之 Debug单步调试(12)
- ·Intent属性对结构体中动态...(11)
- ·高斯勒让德求积分Fortran程序(10)
- ·Intel Fortran编译器(10)
- ·《Intel Visual Fortran...(10)
- ·《Fortran95 程序设计》【...(10)
- ·FAQ之 Intel Fortran + VS 基本操作(10)
- ·任意表达式求值模块(9)
- ·《使用OpenMP 进行 Fortr...(9)
- ·差分进化算法(8)
- ·新语法系列 之 定义变量...(8)
- ·教你看懂 Intel Fortran...(8)
- ·《Fortran95 2003 For S...(8)
- ·堆栈(stack)的故事(8)
- ·快速傅里叶变换FFT(8)
- ·Fortran 95/2003科学计算与工程(8)
- ·FAQ之 Intel Fortran + VS 安装配置(7)
请您注意: