0

IDL でファイルに出力したい。ファイル数が 100 を超えており、100 個のテキスト ファイルしか作成できません。

私のコードは次のとおりです。

for i = 0,575 do begin
fname='file_'+string(i,format="(i03)")+'.txt'
openw,21+i,fname,/append
for j = 1,nchan(0)-1 do begin
printf,21+i,chvel(0,j)/1.e5,s1(j,i),FORMAT='(F9.4,2X,F9.4)'
endfor
close,21+i
endfor
4

1 に答える 1

2

簡単な解決策 - free_lun を使用します。一度に使用できる論理ユニット番号は 100 までです。free_lun を使用すると、利用可能な LUN を再利用できます。

for i = 0,575 do begin
fname='file_'+string(i,format="(i03)")+'.txt'
openw,lun,fname,/get_lun,/append
for j = 1,nchan(0)-1 do begin
printf,lun,chvel(0,j)/1.e5,s1(j,i),FORMAT='(F9.4,2X,F9.4)'
endfor
close,lun
free_lun,lun
endfor
于 2014-03-19T20:40:45.137 に答える