在IDL中打印到文件

时间:2014-03-19 19:54:57

标签: idl-programming-language

我想在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

1 个答案:

答案 0 :(得分:2)

简单的解决方案 - 使用free_lun。 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