function str2arr_maxlet, str, maxlet=maxlet
if ~keyword_set(maxlet) then maxlet=80
if size(str, /type) ne 7 then begin
message,'STR must be of string type.', /info
return, 0
endif
str_arr=strarr(300)
ndim=size(str, /n_dimensions)
if ndim eq 0 then begin
nele=1
endif else if ndim eq 1 then begin
nele=size(str, /n_elements)
endif else begin
message,'The array dimension is not supported.', /info
return, 0
endelse
iline=0
for iarr=0, nele-1 do begin
remstr=str[iarr]
remstrlen=strlen(remstr)
while (remstrlen gt maxlet) do begin
line1=strmid(remstr, 0, maxlet)
ispace=strpos(line1, ' ')
if ispace lt 0 then begin
line1=strmid(line1, 0, maxlet)
remstr=strmid(remstr, maxlet, remstrlen-maxlet+1)
endif else begin
for ichar=0, maxlet-1 do begin
char1=strmid(line1, maxlet-ichar-1, 1)
if char1 eq ' ' then begin
line1=strmid(line1, 0, maxlet-ichar-1)
remstr=strmid(remstr, maxlet-ichar, remstrlen-maxlet+ichar+1)
break
endif
endfor
endelse
str_arr(iline)=line1
iline++
remstrlen=strlen(remstr)
endwhile
str_arr(iline)=remstr
iline++
endfor
str_arr=str_arr(0:iline-1)
return, str_arr
end