看板 Fortran 關於我們 聯絡資訊
各位前輩您好 我有先爬過文但是無奈資質不好實在是有看沒有懂.. 關於大量OPEN檔和READ檔以及WRITE的部分 我明白這裡所有的檔都能夠一個一個開啟 但是資料過於大量 將近一萬筆左右 能否有更有效率的方式去撰寫FORTRAN程式 其中能否假設一個DO迴圈 使得文件檔READ完,WRITE出來後 再讓他自動READ類似檔名再依序WRITE? 例如我有5.1.txt,5.2.txt,5.3.txt 6.1.txt,6.2.txt,6.3.txt 這六個檔案 能不能設定一個迴圈 READ 5.1.txt和6.1.txt後 輸出到7.1.txt 然後再依序READ 5.2.txt和6.2.txt 輸出到7.2.txt 這樣的方法可行嗎? 我看前面的文章有稍微設定過 但是怎麼設定都錯.... 謝謝各位前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.138.85
jubilee2:雙層迴圈? 03/04 19:31
blc:重點是怎麼樣把你要讀/寫的檔名用迴圈生出來。 03/05 10:24
maylin7907:能請各位稍微指點我一下嗎?關於設定出迴圈的 感激不盡 03/05 11:14
kkarthur:DO I=1,3 03/05 14:27
kkarthur:WRITE(AA,"(A2,I1,A4)") "5.",I,".txt" 03/05 14:28
wtula:其實你想知道的是數字變檔名 請查閱 internal file內部檔 03/05 14:28
kkarthur:OPEN(UNIT=11,FILE=AA) 03/05 14:28
kkarthur:WRITE(AA,"(A2,I1,A4)") "6.",I,".txt" 03/05 14:29
kkarthur:OPEN(UNIT=11,FILE=AA) 03/05 14:29
kkarthur:WRITE(AA,"(A2,I1,A4)") "7.",I,".txt" 03/05 14:29
kkarthur:OPEN(UNIT=11,FILE=AA) 03/05 14:29
kkarthur:END DO 03/05 14:30
kkarthur:前面UNIT記得要換, 貼太快打錯 03/05 14:30
maylin7907:所以OPEN是UNIT=11 12 13這樣嗎? 03/05 15:17
kkarthur:然後開完之後還要再CLOSE(11) 03/05 16:11
maylin7907:每個開完都要關掉的意思嗎? 03/05 16:16
maylin7907:那就是我今天有三個TXT檔 要CLOSE(11) CLOSE(12) 03/05 16:17
maylin7907:CLOSE(13) 對嗎? 03/05 16:17
kkarthur:對.. 03/05 16:28
maylin7907:kkarthur前輩 太感謝你了! 03/05 16:34
maylin7907:最後再請問一個問題 AA是應該定義在哪裡? 03/05 17:27
maylin7907:我定義在INTEGER中是失敗的 很謝謝你的講解 太感謝了 03/05 17:28
maylin7907:我設定好了 但是在跑動的時候出現程序無法儲存檔案 03/05 18:19
maylin7907:請問這大概是什麼因素造成的呢? 03/05 18:19
kkarthur:AA是字串 CHARACTER(LEN=30) 03/05 19:27
kkarthur:檔案開完之後,請"使用"完再關掉 03/05 19:29
maylin7907:所以有可能是因為我沒有關閉造成的問題 了解了 03/05 21:44
maylin7907:我找出問題了 原來是設定格式的問題 03/06 11:17
maylin7907:可以請問"(A2,I1,A4)"是什麼意思嗎? 03/06 11:17
terryys:這是輸出/入格式,Ax是x個字元的字串,Ix是x位整數 03/06 11:34
maylin7907:我發完文以後有去查到了 謝謝您的講解 03/06 13:29