[問題] 在cmd下讀檔的問題

看板Fortran作者 (Daily Live)時間14年前 (2009/10/22 17:04), 編輯推噓0(0012)
留言12則, 5人參與, 最新討論串1/1
一般我都在程式裡去設要讀的檔名 ex: open(xx, file='ooxx.txt') read(xx,*) var close(xx) 最近看到幾個程式可以在cmd line下直接打要讀的檔 ex: C:\program.exe <input.in >output.out 可以直接去設定要讀的檔名叫 input.in 寫 output.out 請問這是怎麼辦到的? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.46.8 ※ 編輯: DavisX 來自: 140.114.46.8 (10/22 17:05)

10/22 22:19, , 1F
把檔名弄成變數?
10/22 22:19, 1F

10/23 12:25, , 2F
read(*,*)input write(*,*)output 都是stdin
10/23 12:25, 2F

10/23 15:48, , 3F
呼叫 getarg副程式
10/23 15:48, 3F

10/23 15:56, , 4F
文章中所列方式是pipeline 使用std i/o即可解決
10/23 15:56, 4F

10/23 17:21, , 5F
std i/o 可以抓到io number嗎?
10/23 17:21, 5F

10/23 17:22, , 6F
剛試了一下 input file 好像要已知格式 (已知行數)
10/23 17:22, 6F

10/23 18:19, , 7F
io轉向的用法是將標準io設備改以檔案方式操作 故代表
10/23 18:19, 7F

10/23 18:19, , 8F
輸入檔案內容用以替代鍵盤輸入 輸出檔案替代螢幕
10/23 18:19, 8F

10/23 18:21, , 9F
所以每次換行符號0x0d or 0x0d 0x0a即代表一次輸入
10/23 18:21, 9F

10/23 18:25, , 10F
本文input.in檔案的資料輸入是由os shell操作的
10/23 18:25, 10F

10/23 18:25, , 11F
program.exe並不負責開閉檔
10/23 18:25, 11F

10/23 18:34, , 12F
堅持用io轉向 則解決方法是將檔案名稱寫在input.in中
10/23 18:34, 12F
文章代碼(AID): #1Au20cAN (Fortran)