主题:请问AIX(IBM)环境中xlf90 打开文件不认binary关键字怎么办?
freekiller
[专家分:20] 发布于 2011-07-25 17:22:00
请问AIX(IBM)环境中xlf90 打开文件不认binary关键字怎么办?
用unformatted关键字是可以的,但是我的可视化软件只认binary格式,有什么办法转换吗?
谢谢
回复列表 (共21个回复)
11 楼
臭石头雪球 [专家分:23030] 发布于 2011-07-29 10:50:00
晕,我在群里不是这个名字,怎么都认识我??
12 楼
cgl_lgs [专家分:21040] 发布于 2011-07-29 12:35:00
董兄在这方面很厉害的:)没准儿他也暗恋你呢:)
13 楼
yeg001 [专家分:14390] 发布于 2011-07-29 13:38:00
在雪球兄的群里面混过, 也过来打声招呼~
14 楼
臭石头雪球 [专家分:23030] 发布于 2011-07-29 14:14:00
这么说楼上各位混过都跑了??
15 楼
yeg001 [专家分:14390] 发布于 2011-07-29 16:40:00
我不小心点了退群于是就退群了, 呵呵.
平时比较忙, 群都处于屏蔽状态, 没什么奉献. 退不退都差不多.
16 楼
dongyuanxun [专家分:7180] 发布于 2011-07-29 17:36:00
[quote]董兄在这方面很厉害的:)没准儿他也暗恋你呢:)[/quote]
那是村长,不是我
17 楼
freekiller [专家分:20] 发布于 2011-07-30 10:48:00
[quote]unformatted和binary 都是二进制文件,但是稍有差别。
对于 direct 读取,两者是一样的
对于顺序读取,则不同。比如记录 'ABCDEFGH' 和 [color=red]32[/color] 两个数据
unformatted 会在记录前后各用 4 字节描述该记录的长度。
[quote]
08 00 00 00 ( ABCDEFGH ) 08 00 00 00[color=red] 04 00 00 00 20 00 00 00 04 00 00 00[/color][/quote]
而 binary 不会
[quote]
( ABCDEFGH ) [color=red]20 00 00 00[/color][/quote]
如果楼主的编译器不识别 binary,也是正常的,因为它本来就不是标准的 Fortran 语法。
楼主可能需要对代码做较大的改动。比如改用 direct 读取。[/quote]
谢谢石头兄。那如果这样的话,我在写入数据的时候有不同的类型,有character,real和int,那么我是不是每写一个数据就需要打开、关闭一次文件,因为每次写入的recl值不同?
18 楼
cgl_lgs [专家分:21040] 发布于 2011-07-30 17:38:00
[quote]这么说楼上各位混过都跑了??[/quote]
我算是混进去了~~~哈哈:)
19 楼
cgl_lgs [专家分:21040] 发布于 2011-07-30 17:40:00
[quote][quote]董兄在这方面很厉害的:)没准儿他也暗恋你呢:)[/quote]
那是村长,不是我[/quote]
哈哈,你就别此地无银三百两啦:)
20 楼
臭石头雪球 [专家分:23030] 发布于 2011-07-31 06:32:00
[quote]谢谢石头兄。那如果这样的话,我在写入数据的时候有不同的类型,有character,real和int,那么我是不是每写一个数据就需要打开、关闭一次文件,因为每次写入的recl值不同?[/quote]
看你自己吧,分开的依据是 RecL 的不同,而不应该是数据类型不同。
同一次打开,RecL 必须相同,但可以写入不同类型的数据。为了避免麻烦,你可以想方法把 RecL 不同的数据变换一下,比如 character 的子字符串分开。
我来回复