作者albn (微积=危机)
看板Fortran
标题[问题] 读档的基本问题
时间Wed Apr 17 03:05:13 2013
最近遇到一个问题..刚刚爬完文没甚麽头绪
应该是我太弱了...所以想请教一下各位
问题描述:
我目前有个temp.dat档 如下
0.000000000000000E+000 1 1 0.000000000000000E+000
0.000000000000000E+000 1 2 0.000000000000000E+000
..................
.................
...........
.......
目前我是撷取前两行,後面格式都一样 顶多数字不一样 我现在的需求是
以列为单位 读取进来 ex:a1=0.00000000E+000 a2=1 a3=1 a4=0.000000000E+0000
b1=0.00000000E+000 b2=1 b3=1 b4=0.000000000E+0000
以此类推
但由於我的 a1,a2,a3,a4其中都有间隔 这部分请问要如何处理?
刚刚有看到别人的作法 不过真的看不太懂
我目前大概觉得应该这麽做 但????部分我看大家写法不一
open(unit=96,file="C:\temp.dat",POSITION=
!'APPEND')
read(96,*)????????
close(96)
顺便借问一下 我目前96这个数字 刚刚有google 好像是指编号
就是要写入或读档案的编号?
但有人说是和资料的数目有关?
意思是如果我今天资料超过96笔 我就没办法继续读或写?
拜托 各位!!
谢谢
--
子欲养而亲不待
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.160.8.71
1F:→ rex0707:96是指你给 temp.dat 这个档案编号 可以自己订 04/17 09:54
2F:推 terryys:资料中有空格不用管,就直接读 read(96,*) a1,a2,a3,a4 04/17 10:07
回楼上 那我现在遇到换行问题怎麽办? a1 a2 a3 应该是指第一列而已吧
※ 编辑: albn 来自: 140.112.94.67 (04/17 11:20)
3F:推 terryys:会自动换行 04/17 11:23
我刚刚做了一个简单测试 但执行结果档都会闪退....
test2.dat
15.0000 16.0000
fortran 档
PROGRAM test
REAL a1,a2,a3
OPEN(11,FILE='test2',POSITION="APPEND")
read(11,*)a1,a2
write(*,*)a1,a2
close(11)
pause
end
好像哪里有出错...但找不到问题
※ 编辑: albn 来自: 140.112.94.67 (04/17 11:28)
4F:推 terryys:FILE='test2'而不是test2.dat POSITION="APPEND"意思是 04/17 12:02
5F:→ terryys:在档案结尾开始读,不会读到任何东西 04/17 12:03
6F:→ albn:感谢楼上!!! 似乎是这个问题!!! 谢谢 04/17 12:39