作者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