[問題] 讀檔特定區域一問

看板Fortran作者 (廷廷)時間12年前 (2012/11/19 17:24), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串1/1
這是我的data長樣: 2012/xx/xx abcdefgxxxxxxxxxxx(表示有問字敘述) abcdefgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 12 1234 4567 55 4321 7654 .. .... .... .. .... .... .. .... .... ^^^ ^^ ^^ 檔案中"^"表示有空白的存在 目前已經試過下列方法: open(unit=10, file='filename.txt') 100 format(2/,5X,I6) 200 format(I6) read(10,100) a write(*,200) a 程式碼中黃色的2字可以成功跳過2012/xx/xx以及文字敘述那兩列 但因為某些需求黃色文字的部分想要用一個變數取代 就像是 E=12 100 format(E/,5X,I6) 但執行結果他都要求我必須以一個constant or general expreesion 來表示我大寫E的部分 請求解...............QQ PS:我有試過另一個方法用open(access='direct',recl=?) 問號的部分我不知道到底要用甚麼長度分才正確.......... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.120.35

11/19 17:52, , 1F
1.write(fmtstr,*) E,'/,5X,I6' & read(10,fmtstr) a
11/19 17:52, 1F

11/19 17:55, , 2F
或2.迴圈跳行 do i=1,E & read(10,"(A)") linestr & end do
11/19 17:55, 2F

11/19 18:44, , 3F
h大的第一種方法是說
11/19 18:44, 3F

11/19 18:46, , 4F
用write(字串格式,*) E,'/,5X,I6' 來拼湊出一個字串
11/19 18:46, 4F

11/19 18:46, , 5F
然後寫入100 format() 裡面嗎? 我一值嘗試不成功
11/19 18:46, 5F

11/19 18:50, , 6F
在寫出write(字串格式,*) E,'/,5X,I6' 這部分出問題.
11/19 18:50, 6F

11/19 23:17, , 7F
解決了~~~ 謝謝~~~~
11/19 23:17, 7F
文章代碼(AID): #1GgVg_Dd (Fortran)
文章代碼(AID): #1GgVg_Dd (Fortran)