看板 Fortran 關於我們 聯絡資訊
最近遇到一個問題..剛剛爬完文沒甚麼頭緒 應該是我太弱了...所以想請教一下各位 問題描述: 我目前有個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
rex0707:96是指你給 temp.dat 這個檔案編號 可以自己訂 04/17 09:54
terryys:資料中有空格不用管,就直接讀 read(96,*) a1,a2,a3,a4 04/17 10:07
回樓上 那我現在遇到換行問題怎麼辦? a1 a2 a3 應該是指第一列而已吧 ※ 編輯: albn 來自: 140.112.94.67 (04/17 11:20)
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)
terryys:FILE='test2'而不是test2.dat POSITION="APPEND"意思是 04/17 12:02
terryys:在檔案結尾開始讀,不會讀到任何東西 04/17 12:03
albn:感謝樓上!!! 似乎是這個問題!!! 謝謝 04/17 12:39