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 回答