作者laa7352 (Laa)
看板Fortran
標題Re: [問題] 讀入問題
時間Mon Jun 29 08:06:26 2009
※ 引述《magaiml (祈)》之銘言:
: 請問
: 2000/01/01 01 02 03 04 05 06 07
: 這筆資料該如何讀入呢?
: 我最後想顯示的是
: 2000/01/01 XX XX XX XX...
: XX為其他的計算結果
: 主要問題是如何讀入呢?
2000/01/01 01 02 03 04 05 06 07
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1234567890 15 20 25 3012
這是有關格式的輸入輸出
輸入的部份
首先你要知道的是這行資料跟資料對應的格數
接下來,選定你要資料的格數及形態
例如,1~4格是2000,應該是年份吧
6 7格是月份,9 10格是日期
並且我要用整數去讀這值,那麼在format裡整數的敘述是"
I"
日期中的斜線我想跳過不讀,所以用
X跳過
所以要讀這年份的話可以如下寫法
read(11,31)iy,im,id
31 format(
I4,
X1,
I2,
X1,
I2)
對照資料
2000/01/01 .......
^^^^^^^^^^
1234567890 之後的依此類推
輸出的部份
你想要出輸成下行
2000/01/01 .......
那在上一部份我們讀了年月日
要輸出成這樣可以這樣寫
write(11,32)
iy,
im,
id
32 format(
I4,'
/',
I2.2,'
/',
I2.2)
年的格式沒問題,後面'/'代表的是直接把引號內的所有東西當做字串輸出
如果要空格,引號裡就放空格
至於月日的格式
因為輸出時想把小於10的部份 在十位數的地方補0
例如 1月輸出成01 9日輸出成09
就要用I2.2,後面的 .2 是代表把剩餘高階位數空格補零
其他的值的敘述依此類推
例如字串、實數的格式,書上應該都講得很清楚~
加油吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.150.168
※ 編輯: laa7352 來自: 61.228.150.168 (06/29 08:07)
1F:→ snowanimal:你是好人.... 06/29 09:31
2F:推 duffrose:灰熊專業喔,又仔細。 06/29 09:58
※ 編輯: laa7352 來自: 140.137.32.73 (06/29 10:56)