[問題] 讀檔的基本問題

看板Fortran作者 (微積=危機)時間11年前 (2013/04/17 03:05), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串1/1
最近遇到一個問題..剛剛爬完文沒甚麼頭緒 應該是我太弱了...所以想請教一下各位 問題描述: 我目前有個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

04/17 09:54, , 1F
96是指你給 temp.dat 這個檔案編號 可以自己訂
04/17 09:54, 1F

04/17 10:07, , 2F
資料中有空格不用管,就直接讀 read(96,*) a1,a2,a3,a4
04/17 10:07, 2F
回樓上 那我現在遇到換行問題怎麼辦? a1 a2 a3 應該是指第一列而已吧 ※ 編輯: albn 來自: 140.112.94.67 (04/17 11:20)

04/17 11:23, , 3F
會自動換行
04/17 11:23, 3F
我剛剛做了一個簡單測試 但執行結果檔都會閃退.... 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)

04/17 12:02, , 4F
FILE='test2'而不是test2.dat POSITION="APPEND"意思是
04/17 12:02, 4F

04/17 12:03, , 5F
在檔案結尾開始讀,不會讀到任何東西
04/17 12:03, 5F

04/17 12:39, , 6F
感謝樓上!!! 似乎是這個問題!!! 謝謝
04/17 12:39, 6F
文章代碼(AID): #1HRQ3i8s (Fortran)
文章代碼(AID): #1HRQ3i8s (Fortran)