Re: [請教]如果要用fortran同時開10000個txt檔......
※ 引述《Bourbaki.bbs@bbs.ccns.ncku.edu.tw (知恩 感恩 報恩 :))》之銘言:
: 有沒有什麼方式可以用簡單的指令一口氣開10000個檔啊
: 因為每個一個檔就要寫一次open 感覺很麻煩
: 而且我要開的txt檔都正好的編號順序的 從0000.txt到9999.txt
: 如果要一個一個打的話 就得打一萬次啊XD
: open(10000, file = "0000.txt")
: open(10001, file = "0001.txt")
: open(10002, file = "0002.txt")
: ......
: ....
: open(19998, file = "9998.txt")
: open(19999, file = "9999.txt")
: 打完後大概也快斃了吧
臨時K文件寫了這樣的程式,大概能動吧:
(體會到原始工具的討人厭之處;
還有,洗老師,你的FORTRAN程式語言行文讀起來可真是天書啊!
還好我國中讀過文言文,大學時候學過克林貢語...開玩笑的 XD)
PROGRAM TEST
CHARACTER*4 F
INTEGER I
DO 10 I=0,9999
F = CHAR(I/1000+ICHAR('0'))
F = F(1:1)//CHAR((I-I/1000*1000)/100+ICHAR('0'))
F = F(1:2)//CHAR((I-I/100*100)/10+ICHAR('0'))
F = F(1:3)//CHAR(I-I/10*10+ICHAR('0'))
* WRITE(*,*) F//'.txt'
OPEN(I,FILE=F//'.txt')
10 CONTINUE
END
我用ulimit -f 10001與ulimit -n 10001設定開檔限制之後,
執行結果是:
~$ g77 test.for
~$ ./a.out
open: illegal unit number
apparent state: unit 999 named 0999.txt
lately writing direct unformatted external IO
已經終止 (core dumped)
~$ rm 0*.txt
~$
這個問題在這網頁如此回答:
http://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/Large-File-Unit-Numbers.html
修改源碼的#define MXUNIT ...
我懶得重新編譯了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.208.176
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 18 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章